From 4da44e09cb2a32f69b4a6b47221117b78e4618dc Mon Sep 17 00:00:00 2001 From: Andrey Sukharev Date: Mon, 5 Dec 2022 16:47:39 +0300 Subject: Make structs readonly when applicable (#4002) * Make all structs readonly when applicable. It should reduce amount of needless defensive copies * Make structs with trivial boilerplate equality code record structs * Remove unnecessary readonly modifiers from TextureCreateInfo * Make BitMap structs readonly too --- Ryujinx.Memory/Range/MemoryRange.cs | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) (limited to 'Ryujinx.Memory/Range/MemoryRange.cs') diff --git a/Ryujinx.Memory/Range/MemoryRange.cs b/Ryujinx.Memory/Range/MemoryRange.cs index 33d2439f..7465fbcb 100644 --- a/Ryujinx.Memory/Range/MemoryRange.cs +++ b/Ryujinx.Memory/Range/MemoryRange.cs @@ -1,11 +1,9 @@ -using System; - -namespace Ryujinx.Memory.Range +namespace Ryujinx.Memory.Range { /// /// Range of memory composed of an address and size. /// - public struct MemoryRange : IEquatable + public readonly record struct MemoryRange { /// /// An empty memory range, with a null address and zero size. @@ -59,20 +57,5 @@ namespace Ryujinx.Memory.Range return thisAddress < otherEndAddress && otherAddress < thisEndAddress; } - - public override bool Equals(object obj) - { - return obj is MemoryRange other && Equals(other); - } - - public bool Equals(MemoryRange other) - { - return Address == other.Address && Size == other.Size; - } - - public override int GetHashCode() - { - return HashCode.Combine(Address, Size); - } } } -- cgit v1.2.3