Example #1
0
 public override void ExitNamespace_declaration(CSharpParser.Namespace_declarationContext context)
 {
     _namespaceNameCurrent      = null;
     _namespaceStartCurrent     = null;
     _namespaceBodyStartCurrent = null;
     _namespaceEndCurrent       = null;
 }
 public override object VisitNamespace_declaration([NotNull] CSharpParser.Namespace_declarationContext context)
 {
     _currentNamespace.Push(context.qualified_identifier().GetText());
     VisitChildren(context);
     _ = _currentNamespace.Pop();
     return(null);
 }
Example #3
0
        public override void EnterNamespace_declaration(CSharpParser.Namespace_declarationContext context)
        {
            _namespaceNameCurrent = context.qualified_identifier().GetText();

            var nmspSt = GetBodyStart(context);

            _namespaceBodyStartCurrent = nmspSt;
            _namespaceStartCurrent     = new Tuple <int, int>(context.Start.Line, context.Start.Column);
            _namespaceEndCurrent       = new Tuple <int, int>(context.Stop.Line, context.Stop.Column);
        }
Example #4
0
        public override object VisitNamespace_declaration([NotNull] CSharpParser.Namespace_declarationContext context)
        {
            _currentNamespace.Push(context.qualified_identifier().GetText());

            var isBreadcrumbNamespace = false;

            if (GetCurrentNamespace() == _breadcrumbNamespace)
            {
                _usingSet.Remove(GetCurrentNamespace());
                _hasBreadcrumbNamespace = true;
                isBreadcrumbNamespace   = true;
            }

            VisitChildren(context);

            if (isBreadcrumbNamespace)
            {
                if (!_hasBreadcrumbClass)
                {
                    var classStopIndex = _cSharpParserService.GetClassInterfaceStopIndex(context.namespace_body());

                    var prenamespaceWhitespace = Tokens.GetHiddenTokensToLeft(context.Start.TokenIndex, Lexer.Hidden);

                    int tabLevels = 1 + ((prenamespaceWhitespace?.Count ?? 0) > 0 ?
                                         _stringUtilService.CalculateTabLevels(prenamespaceWhitespace[0]?.Text ?? string.Empty, _tabString) : 0);

                    var breadcrumbClassString = _breadcrumbCommandParserService.GenerateBreadcrumbClassInterfaceDeclaration(
                        _breadcrumbDeclaration,
                        tabLevels,
                        _tabString);

                    IsModified = true;
                    Rewriter.InsertAfter(classStopIndex, breadcrumbClassString);
                }
            }

            _ = _currentNamespace.Pop();
            return(null);
        }
Example #5
0
 public static void Parse(this CSharpParser.Namespace_declarationContext context, NamespaceContext ns)
 {
     context.namespace_body().Parse(ns, context.qualified_identifier().GetText());
 }