195 lines
5.1 KiB
C#
195 lines
5.1 KiB
C#
using System.Collections.Immutable;
|
|
using Microsoft.Cci;
|
|
using Roslyn.Utilities;
|
|
|
|
namespace Microsoft.CodeAnalysis.CSharp.Symbols;
|
|
|
|
internal sealed class SignatureOnlyPropertySymbol : PropertySymbol
|
|
{
|
|
private readonly string _name;
|
|
|
|
private readonly TypeSymbol _containingType;
|
|
|
|
private readonly ImmutableArray<ParameterSymbol> _parameters;
|
|
|
|
private readonly RefKind _refKind;
|
|
|
|
private readonly TypeWithAnnotations _type;
|
|
|
|
private readonly ImmutableArray<CustomModifier> _refCustomModifiers;
|
|
|
|
private readonly bool _isStatic;
|
|
|
|
private readonly ImmutableArray<PropertySymbol> _explicitInterfaceImplementations;
|
|
|
|
public override RefKind RefKind => _refKind;
|
|
|
|
public override TypeWithAnnotations TypeWithAnnotations => _type;
|
|
|
|
public override ImmutableArray<CustomModifier> RefCustomModifiers => _refCustomModifiers;
|
|
|
|
public override bool IsStatic => _isStatic;
|
|
|
|
public override ImmutableArray<ParameterSymbol> Parameters => _parameters;
|
|
|
|
public override ImmutableArray<PropertySymbol> ExplicitInterfaceImplementations => _explicitInterfaceImplementations;
|
|
|
|
public override Symbol ContainingSymbol => _containingType;
|
|
|
|
public override string Name => _name;
|
|
|
|
internal sealed override bool HasUnscopedRefAttribute => false;
|
|
|
|
internal override bool HasSpecialName
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 70);
|
|
}
|
|
}
|
|
|
|
internal override CallingConvention CallingConvention
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 72);
|
|
}
|
|
}
|
|
|
|
public override ImmutableArray<Location> Locations
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 74);
|
|
}
|
|
}
|
|
|
|
public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 76);
|
|
}
|
|
}
|
|
|
|
public override Accessibility DeclaredAccessibility
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 78);
|
|
}
|
|
}
|
|
|
|
public override bool IsVirtual
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 80);
|
|
}
|
|
}
|
|
|
|
public override bool IsOverride => false;
|
|
|
|
public override bool IsAbstract
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 84);
|
|
}
|
|
}
|
|
|
|
public override bool IsSealed
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 86);
|
|
}
|
|
}
|
|
|
|
public override bool IsExtern
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 88);
|
|
}
|
|
}
|
|
|
|
internal override bool IsRequired
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 90);
|
|
}
|
|
}
|
|
|
|
internal override ObsoleteAttributeData ObsoleteAttributeData
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 92);
|
|
}
|
|
}
|
|
|
|
public override AssemblySymbol ContainingAssembly
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 94);
|
|
}
|
|
}
|
|
|
|
internal override ModuleSymbol ContainingModule
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 96);
|
|
}
|
|
}
|
|
|
|
internal override bool MustCallMethodsDirectly
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 98);
|
|
}
|
|
}
|
|
|
|
public override MethodSymbol SetMethod
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 100);
|
|
}
|
|
}
|
|
|
|
public override MethodSymbol GetMethod
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 102);
|
|
}
|
|
}
|
|
|
|
public override bool IsIndexer
|
|
{
|
|
get
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 104);
|
|
}
|
|
}
|
|
|
|
public SignatureOnlyPropertySymbol(string name, TypeSymbol containingType, ImmutableArray<ParameterSymbol> parameters, RefKind refKind, TypeWithAnnotations type, ImmutableArray<CustomModifier> refCustomModifiers, bool isStatic, ImmutableArray<PropertySymbol> explicitInterfaceImplementations)
|
|
{
|
|
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
|
|
_refKind = refKind;
|
|
_type = type;
|
|
_refCustomModifiers = refCustomModifiers;
|
|
_isStatic = isStatic;
|
|
_parameters = parameters;
|
|
_explicitInterfaceImplementations = ImmutableArrayExtensions.NullToEmpty<PropertySymbol>(explicitInterfaceImplementations);
|
|
_containingType = containingType;
|
|
_name = name;
|
|
}
|
|
}
|