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); }
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); }
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); }
public static void Parse(this CSharpParser.Namespace_declarationContext context, NamespaceContext ns) { context.namespace_body().Parse(ns, context.qualified_identifier().GetText()); }