Beispiel #1
0
            private void AddUsingDirective(Dictionary <TreeTextSpan, List <UsingDirectiveSyntax> > container, UsingDirectiveSyntax usingDirective, TreeTextSpan containingSpan)
            {
                List <UsingDirectiveSyntax> usingList;

                if (!container.TryGetValue(containingSpan, out usingList))
                {
                    usingList = new List <UsingDirectiveSyntax>();
                    container.Add(containingSpan, usingList);
                }

                usingList.Add(usingDirective);
            }
        private static void BuildReplaceMapForConditionalDirectives(UsingsSorter usingsHelper, Dictionary <UsingDirectiveSyntax, UsingDirectiveSyntax> replaceMap, IndentationSettings indentationSettings, TreeTextSpan rootSpan)
        {
            foreach (var childSpan in rootSpan.Children)
            {
                var originalUsings = usingsHelper.GetContainedUsings(childSpan);
                if (originalUsings.Count > 0)
                {
                    // sort the original using declarations on Span.Start, in order to have the correct replace mapping.
                    originalUsings.Sort(CompareSpanStart);

                    var indentationSteps = IndentationHelper.GetIndentationSteps(indentationSettings, originalUsings[0].Parent);
                    if (originalUsings[0].Parent is NamespaceDeclarationSyntax)
                    {
                        indentationSteps++;
                    }

                    var indentation = IndentationHelper.GenerateIndentationString(indentationSettings, indentationSteps);

                    var modifiedUsings = usingsHelper.GenerateGroupedUsings(childSpan, indentation, false, qualifyNames: false);

                    for (var i = 0; i < originalUsings.Count; i++)
                    {
                        replaceMap.Add(originalUsings[i], modifiedUsings[i]);
                    }
                }

                BuildReplaceMapForConditionalDirectives(usingsHelper, replaceMap, indentationSettings, childSpan);
            }
        }
Beispiel #3
0
            private List <UsingDirectiveSyntax> GenerateUsings(Dictionary <TreeTextSpan, List <UsingDirectiveSyntax> > usingsGroup, TreeTextSpan directiveSpan, string indentation, List <SyntaxTrivia> triviaToMove, bool qualifyNames)
            {
                List <UsingDirectiveSyntax> result = new List <UsingDirectiveSyntax>();
                List <UsingDirectiveSyntax> usingsList;

                if (!usingsGroup.TryGetValue(directiveSpan, out usingsList))
                {
                    return(result);
                }

                return(this.GenerateUsings(usingsList, indentation, triviaToMove, qualifyNames));
            }