Files
2026-08-27 10:56:38 -06:00

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);
}
}