54 lines
2.1 KiB
C#
54 lines
2.1 KiB
C#
using System.Collections.Immutable;
|
|
using Microsoft.Cci;
|
|
using Roslyn.Utilities;
|
|
|
|
namespace Microsoft.CodeAnalysis.CSharp.Symbols;
|
|
|
|
internal sealed class NativeIntegerParameterSymbol : WrappedParameterSymbol, IReference
|
|
{
|
|
private readonly NativeIntegerTypeSymbol _containingType;
|
|
|
|
private readonly NativeIntegerMethodSymbol _container;
|
|
|
|
public override Symbol ContainingSymbol => _container;
|
|
|
|
public override TypeWithAnnotations TypeWithAnnotations => _containingType.SubstituteUnderlyingType(_underlyingParameter.TypeWithAnnotations);
|
|
|
|
public override ImmutableArray<CustomModifier> RefCustomModifiers => _underlyingParameter.RefCustomModifiers;
|
|
|
|
internal override bool IsCallerLineNumber => _underlyingParameter.IsCallerLineNumber;
|
|
|
|
internal override bool IsCallerFilePath => _underlyingParameter.IsCallerFilePath;
|
|
|
|
internal override bool IsCallerMemberName => _underlyingParameter.IsCallerMemberName;
|
|
|
|
internal override int CallerArgumentExpressionParameterIndex => _underlyingParameter.CallerArgumentExpressionParameterIndex;
|
|
|
|
internal override ImmutableArray<int> InterpolatedStringHandlerArgumentIndexes => _underlyingParameter.InterpolatedStringHandlerArgumentIndexes;
|
|
|
|
internal override bool HasInterpolatedStringHandlerArgumentError => _underlyingParameter.HasInterpolatedStringHandlerArgumentError;
|
|
|
|
internal NativeIntegerParameterSymbol(NativeIntegerTypeSymbol containingType, NativeIntegerMethodSymbol container, ParameterSymbol underlyingParameter)
|
|
: base(underlyingParameter)
|
|
{
|
|
_containingType = containingType;
|
|
_container = container;
|
|
}
|
|
|
|
public override bool Equals(Symbol? other, TypeCompareKind comparison)
|
|
{
|
|
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
|
|
return NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, (NativeIntegerParameterSymbol symbol) => symbol._underlyingParameter);
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return _underlyingParameter.GetHashCode();
|
|
}
|
|
|
|
void IReference.Dispatch(MetadataVisitor visitor)
|
|
{
|
|
throw ExceptionUtilities.Unreachable("/_/src/Compilers/CSharp/Portable/Symbols/NativeIntegerTypeSymbol.cs", 431);
|
|
}
|
|
}
|