54 lines
1.7 KiB
C#
54 lines
1.7 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using Roslyn.Utilities;
|
|
|
|
namespace Microsoft.CodeAnalysis.CSharp;
|
|
|
|
public readonly struct QueryClauseInfo : IEquatable<QueryClauseInfo>
|
|
{
|
|
private readonly SymbolInfo _castInfo;
|
|
|
|
private readonly SymbolInfo _operationInfo;
|
|
|
|
public SymbolInfo CastInfo => _castInfo;
|
|
|
|
public SymbolInfo OperationInfo => _operationInfo;
|
|
|
|
internal QueryClauseInfo(SymbolInfo castInfo, SymbolInfo operationInfo)
|
|
{
|
|
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0008: 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)
|
|
_castInfo = castInfo;
|
|
_operationInfo = operationInfo;
|
|
}
|
|
|
|
public override bool Equals(object? obj)
|
|
{
|
|
if (obj is QueryClauseInfo)
|
|
{
|
|
return Equals((QueryClauseInfo)obj);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public bool Equals(QueryClauseInfo other)
|
|
{
|
|
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
|
|
if (((SymbolInfo)(ref _castInfo)).Equals(other._castInfo))
|
|
{
|
|
return ((SymbolInfo)(ref _operationInfo)).Equals(other._operationInfo);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
|
|
return Hash.Combine(((object)CastInfo/*cast due to constrained. prefix*/).GetHashCode(), ((object)Unsafe.As<SymbolInfo, SymbolInfo>(ref _operationInfo)/*cast due to constrained. prefix*/).GetHashCode());
|
|
}
|
|
}
|