提交 c8e219cb 编写于 作者: C Cyrus Najmabadi

Directly expose AssemblyMetadata off of an IAssemblySymbol.

上级 5883b99f
......@@ -973,7 +973,7 @@ IEnumerable<IModuleSymbol> IAssemblySymbol.Modules
}
}
public abstract MetadataId MetadataId { get; }
public abstract AssemblyMetadata GetMetadata();
INamedTypeSymbol IAssemblySymbol.ResolveForwardedType(string fullyQualifiedMetadataName)
{
......
......@@ -250,6 +250,6 @@ internal PEModuleSymbol PrimaryModule
get { return null; }
}
public override MetadataId MetadataId => _assembly.MetadataId;
public override AssemblyMetadata GetMetadata() => _assembly.GetMetadataCopy();
}
}
......@@ -185,6 +185,6 @@ public override bool MightContainExtensionMethods
}
}
public override MetadataId MetadataId => null;
public override AssemblyMetadata GetMetadata() => null;
}
}
......@@ -285,6 +285,6 @@ internal override NamedTypeSymbol TryLookupForwardedMetadataTypeWithCycleDetecti
return this.RetargetingTranslator.Retarget(underlying, RetargetOptions.RetargetPrimitiveTypesByName);
}
public override MetadataId MetadataId => _underlyingAssembly.MetadataId;
public override AssemblyMetadata GetMetadata() => _underlyingAssembly.GetMetadata();
}
}
\ No newline at end of file
......@@ -2558,6 +2558,6 @@ internal override NamedTypeSymbol TryLookupForwardedMetadataTypeWithCycleDetecti
return null;
}
public override MetadataId MetadataId => null;
public override AssemblyMetadata GetMetadata() => null;
}
}
}
\ No newline at end of file
......@@ -105,6 +105,6 @@ internal override NamedTypeSymbol TryLookupForwardedMetadataTypeWithCycleDetecti
return null;
}
public override MetadataId MetadataId => null;
public override AssemblyMetadata GetMetadata() => null;
}
}
......@@ -175,6 +175,6 @@ internal bool DeclaresTheObjectClass
}
}
public MetadataId MetadataId => _owner.Id;
public AssemblyMetadata GetMetadataCopy() => _owner.Copy();
}
}
......@@ -84,7 +84,7 @@ Microsoft.CodeAnalysis.Diagnostics.Telemetry.AnalyzerTelemetryInfo.SyntaxNodeAct
Microsoft.CodeAnalysis.Diagnostics.Telemetry.AnalyzerTelemetryInfo.SyntaxTreeActionsCount.get -> int
Microsoft.CodeAnalysis.Emit.DebugInformationFormat.Embedded = 3 -> Microsoft.CodeAnalysis.Emit.DebugInformationFormat
Microsoft.CodeAnalysis.Emit.DebugInformationFormat.PortablePdb = 2 -> Microsoft.CodeAnalysis.Emit.DebugInformationFormat
Microsoft.CodeAnalysis.IAssemblySymbol.MetadataId.get -> Microsoft.CodeAnalysis.MetadataId
Microsoft.CodeAnalysis.IAssemblySymbol.GetMetadata() -> Microsoft.CodeAnalysis.AssemblyMetadata
Microsoft.CodeAnalysis.ICompilationUnitSyntax
Microsoft.CodeAnalysis.ICompilationUnitSyntax.EndOfFileToken.get -> Microsoft.CodeAnalysis.SyntaxToken
Microsoft.CodeAnalysis.Metadata.Id.get -> Microsoft.CodeAnalysis.MetadataId
......
......@@ -74,13 +74,10 @@ public interface IAssemblySymbol : ISymbol
/// <summary>
/// If this is an <see cref="IAssemblySymbol"/> for an <see cref="AssemblyMetadata"/>,
/// this returns the <see cref="Metadata.Id"/> for that <see cref="AssemblyMetadata"/>.
/// this returns that <see cref="AssemblyMetadata"/>.
///
/// Otherwise, this returns <code>null</code>.
///
/// If two assembly symbols are created from the same underlying <see cref="AssemblyMetadata"/>
/// object, then they will have the same Id.
/// </summary>
MetadataId MetadataId { get; }
AssemblyMetadata GetMetadata();
}
}
......@@ -803,9 +803,7 @@ Friend Class MockAssemblySymbol
Return Nothing
End Function
Public Overrides ReadOnly Property MetadataId As MetadataId
Get
Return Nothing
End Get
End Property
Public Overrides Function GetMetadata() As AssemblyMetadata
Return Nothing
End Function
End Class
......@@ -78,7 +78,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Symbols
End Get
End Property
Public MustOverride ReadOnly Property MetadataId As MetadataId Implements IAssemblySymbol.MetadataId
Public MustOverride Function GetMetadata() As AssemblyMetadata Implements IAssemblySymbol.GetMetadata
''' <summary>
''' Get the name of this assembly.
......
......@@ -228,10 +228,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Symbols.Metadata.PE
End Get
End Property
Public Overrides ReadOnly Property MetadataId As MetadataId
Get
Return _assembly.MetadataId
End Get
End Property
Public Overrides Function GetMetadata() As AssemblyMetadata
Return _assembly.GetMetadataCopy()
End Function
End Class
End Namespace
\ No newline at end of file
......@@ -144,11 +144,9 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Symbols
End Get
End Property
Public Overrides ReadOnly Property MetadataId As MetadataId
Get
Return Nothing
End Get
End Property
Public Overrides Function GetMetadata() As AssemblyMetadata
Return Nothing
End Function
End Class
''' <summary>
......
......@@ -247,10 +247,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Symbols.Retargeting
Return Me.RetargetingTranslator.Retarget(underlying, RetargetOptions.RetargetPrimitiveTypesByName)
End Function
Public Overrides ReadOnly Property MetadataId As MetadataId
Get
Return _underlyingAssembly.MetadataId
End Get
End Property
Public Overrides Function GetMetadata() As AssemblyMetadata
Return _underlyingAssembly.GetMetadata()
End Function
End Class
End Namespace
......@@ -1683,10 +1683,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Symbols
Return Nothing
End Function
Public Overrides ReadOnly Property MetadataId As MetadataId
Get
Return Nothing
End Get
End Property
Public Overrides Function GetMetadata() As AssemblyMetadata
Return Nothing
End Function
End Class
End Namespace
\ No newline at end of file
......@@ -194,7 +194,7 @@ public static async Task<SymbolTreeInfo> TryGetInfoForAssemblyAsync(Solution sol
{
using (await s_assemblyInfosGate.DisposableWaitAsync(cancellationToken).ConfigureAwait(false))
{
var metadataId = assembly.MetadataId;
var metadataId = assembly.GetMetadata()?.Id;
if (metadataId == null)
{
return null;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册