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);
        }
Exemplo n.º 2
0
 protected override void VisitImportSpecifier(ImportSpecifier importSpecifier)
 {
     using (StartNodeObject(importSpecifier))
     {
         Member("local", importSpecifier.Local);
         Member("imported", importSpecifier.Imported);
     }
 }
Exemplo n.º 3
0
        public ImportedModule(ImportSpecifier importSpecifier, StringLiteral path, string absolutePath = null)
        {
            _importSpecifier = importSpecifier;
            _path            = path;
            _absolutePath    = absolutePath;

            Path = _path.GetText().Replace("'", "");
        }
Exemplo n.º 4
0
 public virtual void VisitImportSpecifier(ImportSpecifier importSpecifier)
 {
 }
Exemplo n.º 5
0
 protected virtual void VisitImportSpecifier(ImportSpecifier importSpecifier)
 {
 }
Exemplo n.º 6
0
 protected internal override void VisitImportSpecifier(ImportSpecifier importSpecifier)
 {
     VisitingImportSpecifier?.Invoke(this, importSpecifier);
     base.VisitImportSpecifier(importSpecifier);
     VisitedImportSpecifier?.Invoke(this, importSpecifier);
 }
 protected override void VisitImportSpecifier(ImportSpecifier importSpecifier)
 {
 }