mirror of
https://git.naxdy.org/Mirror/Ryujinx.git
synced 2025-01-03 22:43:07 +00:00
30 lines
860 B
C#
30 lines
860 B
C#
using System;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
namespace Spv.Generator
|
|
{
|
|
internal struct ConstantKey : IEquatable<ConstantKey>
|
|
{
|
|
private Instruction _constant;
|
|
|
|
public ConstantKey(Instruction constant)
|
|
{
|
|
_constant = constant;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return HashCode.Combine(_constant.Opcode, _constant.GetHashCodeContent(), _constant.GetHashCodeResultType());
|
|
}
|
|
|
|
public bool Equals(ConstantKey other)
|
|
{
|
|
return _constant.Opcode == other._constant.Opcode && _constant.EqualsContent(other._constant) && _constant.EqualsResultType(other._constant);
|
|
}
|
|
|
|
public override bool Equals([NotNullWhen(true)] object obj)
|
|
{
|
|
return obj is ConstantKey && Equals((ConstantKey)obj);
|
|
}
|
|
}
|
|
}
|