public override void ExitEnumDefinition([NotNull] EnumDefinitionContext context) { enumDefs.Add(currEnum.name, currEnum); enumStart = false; currEnum = null; ethGlobal.DebugPrint("->Exit enum value " + context.Start.Text); }
/// <inheritdoc/> public Enum FindSymbolForNode(EnumDefinitionContext node) { if (this.FindSymbolForNode((IParseTree)node) is Enum @enum) { return(@enum); } return(null); }
protected Enum SetupMember(EnumDefinitionContext enumNode, string enumName, Document document) { var member = new EnumBuilder() .SetNode(enumNode) .SetName(enumName) .Build(); this.BinderProvider.GetBinder(enumNode).Returns(this.enumBinder); this.EnumBinder.Bind <INamedSymbol>(enumNode, document).Returns(member); this.EnumBinder.Bind <Enum>(enumNode, document).Returns(member); return(member); }
public override AstNode?VisitEnumDefinition(EnumDefinitionContext context) { _hasDefinitions = true; var enumDef = new EnumDefinition { ParseContext = context, Name = GetId(context.name), Options = _currentMemberOptions }; var accessModifier = context.accessModifier(); if (accessModifier != null) { ProcessTypeModifiers(enumDef, new[] { accessModifier.type }); } ProcessAttributes(enumDef.Attributes, context.attributes()); if (context.underlyingType != null) { enumDef.UnderlyingType = context.underlyingType.GetText(); } foreach (var enumMemberContext in context.enumMember()) { var memberDef = new EnumMemberDefinition { ParseContext = enumMemberContext, Name = GetId(enumMemberContext.name), Value = enumMemberContext.value?.GetFullText() }; ProcessAttributes(memberDef.Attributes, enumMemberContext.attributes()); enumDef.Members.Add(memberDef); } _contracts.Enums.Add(enumDef); return(enumDef); }
public override void EnterEnumDefinition([NotNull] EnumDefinitionContext context) { //string nm = context.Start.Text; enumStart = true; currEnum = new SolidityEnum(); }