public CSharpSyntaxNode Convert(ImportSpecifier specifier) { ImportDeclaration import = specifier.Ancestor(NodeKind.ImportDeclaration) as ImportDeclaration; Document fromDoc = import?.FromDocument; Node definition = fromDoc?.GetExportTypeDefinition(specifier.DefinitionName); if (definition != null) { string definitionPackage = definition.Document.GetPackageName(); string package = import.Document.GetPackageName(); string name = specifier.Name.Text; string propertyName = (string)definition.GetValue("NameText"); List <Node> genericParameters = definition.GetValue("TypeParameters") as List <Node>; if (genericParameters != null && genericParameters.Count > 0 && package != definitionPackage) // generic use using. { return(SyntaxFactory.UsingDirective(SyntaxFactory.ParseName(definitionPackage))); } else if (package != definitionPackage || name != propertyName) { return(SyntaxFactory.UsingDirective( SyntaxFactory.NameEquals(name), SyntaxFactory.ParseName($"{definitionPackage}.{propertyName}"))); } } return(null); }
protected override void VisitImportSpecifier(ImportSpecifier importSpecifier) { using (StartNodeObject(importSpecifier)) { Member("local", importSpecifier.Local); Member("imported", importSpecifier.Imported); } }
public ImportedModule(ImportSpecifier importSpecifier, StringLiteral path, string absolutePath = null) { _importSpecifier = importSpecifier; _path = path; _absolutePath = absolutePath; Path = _path.GetText().Replace("'", ""); }
public virtual void VisitImportSpecifier(ImportSpecifier importSpecifier) { }
protected virtual void VisitImportSpecifier(ImportSpecifier importSpecifier) { }
protected internal override void VisitImportSpecifier(ImportSpecifier importSpecifier) { VisitingImportSpecifier?.Invoke(this, importSpecifier); base.VisitImportSpecifier(importSpecifier); VisitedImportSpecifier?.Invoke(this, importSpecifier); }
protected override void VisitImportSpecifier(ImportSpecifier importSpecifier) { }