private void ReplaceImportStatements() { HashSet <string> alreadyAddedImportsStatements = new HashSet <string>(); IEnumerable <ImportsStatementSyntax> importsStatementNodes = tree.GetRoot().DescendantNodes().OfType <ImportsStatementSyntax>(); foreach (ImportsStatementSyntax oldImportsStatementNode in importsStatementNodes) // iterate over all qualified names in the file { // could be problems if this import statement isn't simple, however even if an alias is used in the import it's still simple SimpleImportsClauseSyntax oldSimpleImportsNode = oldImportsStatementNode.DescendantNodes().OfType <SimpleImportsClauseSyntax>().First(); var oldNamespace = oldSimpleImportsNode.WithoutTrivia().Name.GetText().ToString(); List <namespace_map> namespaces = NSMappingSQLConnector.GetInstance().GetNamespaceMapsFromOldNamespace(TransformProject.sdkId, oldNamespace); if (namespaces != null) { foreach (namespace_map nsMap in namespaces) { var newNamespace = nsMap.new_namespace; if (!alreadyAddedImportsStatements.Contains(newNamespace)) { alreadyAddedImportsStatements.Add(newNamespace); NameSyntax newIdentifierNode = IdentifierName(newNamespace); var newSimpleImportsNode = oldSimpleImportsNode.WithName(newIdentifierNode); SeparatedSyntaxList <ImportsClauseSyntax> simpleImportsList = new SeparatedSyntaxList <ImportsClauseSyntax>().Add(newSimpleImportsNode); ImportsStatementSyntax newImportsStatementNode = ImportsStatement(simpleImportsList).WithTriviaFrom(oldImportsStatementNode); newImportsStatementNode = newImportsStatementNode.WithImportsKeyword(oldImportsStatementNode.ImportsKeyword); documentEditor.InsertAfter(oldImportsStatementNode, newImportsStatementNode); } } documentEditor.RemoveNode(oldImportsStatementNode); } } }
public override void VisitImportsStatement(ImportsStatementSyntax node) { if (node.DescendantNodes().Any(x => x is ImportAliasClauseSyntax)) { var simpleNode = node.ChildNodes().FirstOrDefault(x => x is SimpleImportsClauseSyntax); var ns = simpleNode.ChildNodes().LastOrDefault().ToString(); var aliasNode = simpleNode.ChildNodes().FirstOrDefault(x => x is ImportAliasClauseSyntax); var alternate = aliasNode.ChildTokens().FirstOrDefault(x => x.Kind() == SyntaxKind.IdentifierToken).ToString(); ImportsNamespaces.Add(new NamespaceInfo { Namespace = ns, Alternate = alternate, }); } else { var ns = node.ChildNodes().FirstOrDefault().ToString(); ImportsNamespaces.Add(new NamespaceInfo { Namespace = ns, Alternate = string.Empty, }); } base.VisitImportsStatement(node); }
public override void VisitImportsStatement(ImportsStatementSyntax node) { long startTicks = Log.APPLICATIONSERVICES("Enter", Common.LOG_CATEGORY); if (_targetPatternRegEx.Match(node.ImportsClauses.ToString()).Success) { RecordMatchAndContext(node, BlockType.None); } base.VisitImportsStatement(node); Log.APPLICATIONSERVICES("Exit", Common.LOG_CATEGORY, startTicks); }
public override Microsoft.CodeAnalysis.SyntaxNode VisitImportsStatement(ImportsStatementSyntax node) { var newImportsStatement = SyntaxFactory.ImportsStatement(); newImportsStatement = newImportsStatement.AddImportsClauses(SyntaxFactory.SimpleImportsClause(SyntaxFactory.ParseName(importsName))); CompilationUnitSyntax cu = (CompilationUnitSyntax)node.Parent; cu = cu.AddImports(newImportsStatement); ImportsStatementSyntax newNode = null; if (_targetPatternRegEx.Match(node.ImportsClauses.ToString()).Success) { var existingImports = node.Parent.DescendantNodes().OfType <ImportsStatementSyntax>(); //newNode = node.AddImportsClauses(new) //RecordMatchAndContext(node, BlockType.None); } return(newNode); }
public override void VisitImportsStatement(ImportsStatementSyntax node) { LogicalLineCount++; base.VisitImportsStatement(node); }
public override void VisitImportsStatement(ImportsStatementSyntax node) { }
public VbImportedNamespace(INamespaceSymbol namespaceSymbol, ImportsStatementSyntax syntaxNode) : base(namespaceSymbol) { _syntaxNode = syntaxNode; }