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