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 _parameters; private readonly RefKind _refKind; private readonly TypeWithAnnotations _type; private readonly ImmutableArray _refCustomModifiers; private readonly bool _isStatic; private readonly ImmutableArray _explicitInterfaceImplementations; public override RefKind RefKind => _refKind; public override TypeWithAnnotations TypeWithAnnotations => _type; public override ImmutableArray RefCustomModifiers => _refCustomModifiers; public override bool IsStatic => _isStatic; public override ImmutableArray Parameters => _parameters; public override ImmutableArray 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 Locations { get { throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/SignatureOnlyPropertySymbol.cs", 74); } } public override ImmutableArray 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 parameters, RefKind refKind, TypeWithAnnotations type, ImmutableArray refCustomModifiers, bool isStatic, ImmutableArray 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(explicitInterfaceImplementations); _containingType = containingType; _name = name; } }