From 61112f9102440bc3155fd36ae57ddcb6879504d5 Mon Sep 17 00:00:00 2001 From: Jason Nelson Date: Tue, 10 Jul 2018 07:34:17 -0700 Subject: [PATCH] Seal memory classes --- src/ImageSharp/Memory/ArrayPoolMemoryAllocator.cs | 2 +- src/ImageSharp/Memory/BasicByteBuffer.cs | 2 +- src/ImageSharp/Memory/Buffer2D{T}.cs | 2 +- src/ImageSharp/Memory/ManagedBufferBase.cs | 2 +- src/ImageSharp/Memory/SimpleGcMemoryAllocator.cs | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Memory/ArrayPoolMemoryAllocator.cs b/src/ImageSharp/Memory/ArrayPoolMemoryAllocator.cs index 90950d4b3..f1c4c49c3 100644 --- a/src/ImageSharp/Memory/ArrayPoolMemoryAllocator.cs +++ b/src/ImageSharp/Memory/ArrayPoolMemoryAllocator.cs @@ -9,7 +9,7 @@ namespace SixLabors.Memory /// /// Implements by allocating memory from . /// - public partial class ArrayPoolMemoryAllocator : MemoryAllocator + public sealed partial class ArrayPoolMemoryAllocator : MemoryAllocator { /// /// The for small-to-medium buffers which is not kept clean. diff --git a/src/ImageSharp/Memory/BasicByteBuffer.cs b/src/ImageSharp/Memory/BasicByteBuffer.cs index a8a30b1aa..9f995e347 100644 --- a/src/ImageSharp/Memory/BasicByteBuffer.cs +++ b/src/ImageSharp/Memory/BasicByteBuffer.cs @@ -3,7 +3,7 @@ namespace SixLabors.Memory { - internal class BasicByteBuffer : BasicArrayBuffer, IManagedByteBuffer + internal sealed class BasicByteBuffer : BasicArrayBuffer, IManagedByteBuffer { internal BasicByteBuffer(byte[] array) : base(array) diff --git a/src/ImageSharp/Memory/Buffer2D{T}.cs b/src/ImageSharp/Memory/Buffer2D{T}.cs index f8d75b54c..b76c06df8 100644 --- a/src/ImageSharp/Memory/Buffer2D{T}.cs +++ b/src/ImageSharp/Memory/Buffer2D{T}.cs @@ -12,7 +12,7 @@ namespace SixLabors.Memory /// interpreted as a 2D region of x elements. /// /// The value type. - internal class Buffer2D : IDisposable + internal sealed class Buffer2D : IDisposable where T : struct { /// diff --git a/src/ImageSharp/Memory/ManagedBufferBase.cs b/src/ImageSharp/Memory/ManagedBufferBase.cs index 606d1c962..8de2f5392 100644 --- a/src/ImageSharp/Memory/ManagedBufferBase.cs +++ b/src/ImageSharp/Memory/ManagedBufferBase.cs @@ -9,7 +9,7 @@ namespace SixLabors.Memory /// /// Provides a base class for implementations by implementing pinning logic for adaption. /// - internal abstract class ManagedBufferBase : System.Buffers.MemoryManager, IBuffer + internal abstract class ManagedBufferBase : MemoryManager, IBuffer where T : struct { private GCHandle pinHandle; diff --git a/src/ImageSharp/Memory/SimpleGcMemoryAllocator.cs b/src/ImageSharp/Memory/SimpleGcMemoryAllocator.cs index 2d339f4c7..df69cec6e 100644 --- a/src/ImageSharp/Memory/SimpleGcMemoryAllocator.cs +++ b/src/ImageSharp/Memory/SimpleGcMemoryAllocator.cs @@ -3,7 +3,7 @@ /// /// Implements by newing up arrays by the GC on every allocation requests. /// - public class SimpleGcMemoryAllocator : MemoryAllocator + public sealed class SimpleGcMemoryAllocator : MemoryAllocator { /// internal override IBuffer Allocate(int length, bool clear) @@ -16,4 +16,4 @@ return new BasicByteBuffer(new byte[length]); } } -} +} \ No newline at end of file