public override void EnterAttribute(ExpressParser.AttributeContext context) { var attr = new AttributeDeclaration(); string name = null; if (context.Identifier() != null) { name = context.Identifier().GetText(); } else { name = context.path().GetText(); } attr.IsOptional = context.OPTIONAL() != null; attr.TypeInfo = TypeInfoFromValueTypeContext(name, context.valueType()); if (context.Parent is ExpressParser.DeriveDeclarationContext) { attr.IsDerived = true; } currentTypeInfo = attr.TypeInfo; currentEntityInfo.Attributes.Add(attr); }
public override void ExitAttribute(ExpressParser.AttributeContext context) { currentTypeInfo = null; }
/// <summary> /// Exit a parse tree produced by <see cref="ExpressParser.attribute"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitAttribute([NotNull] ExpressParser.AttributeContext context) { }