提交 6b417758 编写于 作者: C CyrusNajmabadi

Expose if an INamedTypeSymbol is a 'ComImport'

上级 73f129bb
......@@ -1473,6 +1473,8 @@ ISymbol INamedTypeSymbol.AssociatedSymbol
/// </summary>
INamedTypeSymbol INamedTypeSymbol.TupleUnderlyingType => this.TupleUnderlyingType;
bool INamedTypeSymbol.IsComImport => IsComImport;
#endregion
#region ISymbol Members
......
......@@ -89,6 +89,7 @@ Microsoft.CodeAnalysis.IArrayTypeSymbol.Sizes.get -> System.Collections.Immutabl
Microsoft.CodeAnalysis.IFieldSymbol.CorrespondingTupleField.get -> Microsoft.CodeAnalysis.IFieldSymbol
Microsoft.CodeAnalysis.IMethodSymbol.ReturnsByRef.get -> bool
Microsoft.CodeAnalysis.INamedTypeSymbol.GetTypeArgumentCustomModifiers(int ordinal) -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CustomModifier>
Microsoft.CodeAnalysis.INamedTypeSymbol.IsComImport.get -> bool
Microsoft.CodeAnalysis.INamedTypeSymbol.TupleElements.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.IFieldSymbol>
Microsoft.CodeAnalysis.INamedTypeSymbol.TupleUnderlyingType.get -> Microsoft.CodeAnalysis.INamedTypeSymbol
Microsoft.CodeAnalysis.IOperation
......
......@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Reflection;
using System.Runtime.InteropServices;
namespace Microsoft.CodeAnalysis
{
......@@ -46,6 +48,12 @@ public interface INamedTypeSymbol : ITypeSymbol
/// </summary>
bool IsImplicitClass { get; }
/// <summary>
/// Specifies that the class or interface is imported from another module. See
/// <see cref="TypeAttributes.Import"/> and <see cref="ComImportAttribute"/>
/// </summary>
bool IsComImport { get; }
/// <summary>
/// Returns collection of names of members declared within this type.
/// </summary>
......
......@@ -1189,6 +1189,12 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Symbols
End Get
End Property
Private ReadOnly Property INamedTypeSymbol_IsComImport As Boolean Implements INamedTypeSymbol.IsComImport
Get
Return IsComImport
End Get
End Property
#End Region
#Region "ISymbol"
......
......@@ -32,13 +32,7 @@ internal abstract class CodeGenerationAbstractNamedTypeSymbol : CodeGenerationTy
}
}
public override SymbolKind Kind
{
get
{
return SymbolKind.NamedType;
}
}
public override SymbolKind Kind => SymbolKind.NamedType;
public override void Accept(SymbolVisitor visitor)
{
......@@ -99,9 +93,8 @@ public override string MetadataName
public ISymbol AssociatedSymbol { get; internal set; }
public bool MightContainExtensionMethods
{
get { return false; }
}
public bool MightContainExtensionMethods => false;
public bool IsComImport => false;
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册