Пример #1
0
 public override void ExitModuleDeclarations([NotNull] VBAParser.ModuleDeclarationsContext context)
 {
     if (!_hasOptionExplicit.TryGetValue(CurrentModuleName, out var hasOptionExplicit) || !hasOptionExplicit)
     {
         SaveContext((VBAParser.ModuleContext)context.Parent);
     }
 }
        public override void ExitModuleDeclarations(VBAParser.ModuleDeclarationsContext context)
        {
            var firstMember = Members.Value.Values.OrderBy(d => d.Selection).FirstOrDefault();

            if (firstMember != null)
            {
                CurrentScopeDeclaration = firstMember;
            }
            else
            {
                CurrentScopeDeclaration = State.DeclarationFinder.UserDeclarations(DeclarationType.Module)
                                          .SingleOrDefault(d => d.QualifiedName.QualifiedModuleName.Equals(CurrentModuleName));
            }
        }
Пример #3
0
            public override void ExitModuleDeclarations([NotNull] VBAParser.ModuleDeclarationsContext context)
            {
                var hasOptionExplicit = false;

                foreach (var element in context.moduleDeclarationsElement())
                {
                    if (element.moduleOption() is VBAParser.OptionExplicitStmtContext)
                    {
                        hasOptionExplicit = true;
                    }
                }

                if (!hasOptionExplicit)
                {
                    _contexts.Add(new QualifiedContext <ParserRuleContext>(CurrentModuleName, (ParserRuleContext)context.Parent));
                }
            }
Пример #4
0
 public override bool VisitModuleDeclarations(VBAParser.ModuleDeclarationsContext context)
 {
     return(!context.moduleDeclarationsElement().Any() ||
            context.moduleDeclarationsElement().All(Visit));
 }
 private static int FindStopTokenIndex(VBAParser.ModuleDeclarationsContext context, int index)
 {
     return(context.endOfStatement(index).Stop.TokenIndex);
 }
Пример #6
0
 public override void EnterModuleDeclarations(VBAParser.ModuleDeclarationsContext context)
 {
     _hasOptionExplicit[CurrentModuleName] = false;
 }