From 9c857889842c11158d6703ac124677ee399ccfe9 Mon Sep 17 00:00:00 2001 From: badcel <1218031+badcel@users.noreply.github.com> Date: Mon, 1 Apr 2024 07:00:48 +0200 Subject: [PATCH] Seal record types --- .../Generator/Renderer/Public/OpaqueTypedRecord.cs | 2 +- .../Generator/Renderer/Public/OpaqueUntypedRecord.cs | 2 +- src/Generation/Generator/Renderer/Public/TypedRecord.cs | 2 +- src/Generation/Generator/Renderer/Public/UntypedRecord.cs | 2 +- src/Tests/Libs/GirTest-0.1.Tests/OpaqueTypedRecordTest.cs | 6 ++++++ src/Tests/Libs/GirTest-0.1.Tests/OpaqueUntypedRecordTest.cs | 6 ++++++ src/Tests/Libs/GirTest-0.1.Tests/TypedRecordTest.cs | 6 ++++++ src/Tests/Libs/GirTest-0.1.Tests/UntypedRecordTest.cs | 6 ++++++ 8 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/Generation/Generator/Renderer/Public/OpaqueTypedRecord.cs b/src/Generation/Generator/Renderer/Public/OpaqueTypedRecord.cs index a46fd2f48..46e4ef8e7 100644 --- a/src/Generation/Generator/Renderer/Public/OpaqueTypedRecord.cs +++ b/src/Generation/Generator/Renderer/Public/OpaqueTypedRecord.cs @@ -24,7 +24,7 @@ namespace {Namespace.GetPublicName(record.Namespace)}; // AUTOGENERATED FILE - DO NOT MODIFY {PlatformSupportAttribute.Render(record as GirModel.PlatformDependent)} -public partial class {name} : GLib.BoxedRecord +public sealed partial class {name} : GLib.BoxedRecord {{ public {internalHandleName} Handle {{ get; }} diff --git a/src/Generation/Generator/Renderer/Public/OpaqueUntypedRecord.cs b/src/Generation/Generator/Renderer/Public/OpaqueUntypedRecord.cs index 089a2de85..65ab45c72 100644 --- a/src/Generation/Generator/Renderer/Public/OpaqueUntypedRecord.cs +++ b/src/Generation/Generator/Renderer/Public/OpaqueUntypedRecord.cs @@ -24,7 +24,7 @@ namespace {Namespace.GetPublicName(record.Namespace)}; // AUTOGENERATED FILE - DO NOT MODIFY {PlatformSupportAttribute.Render(record as GirModel.PlatformDependent)} -public partial class {name} +public sealed partial class {name} {{ public {internalHandleName} Handle {{ get; }} diff --git a/src/Generation/Generator/Renderer/Public/TypedRecord.cs b/src/Generation/Generator/Renderer/Public/TypedRecord.cs index 68806f01f..3259467ca 100644 --- a/src/Generation/Generator/Renderer/Public/TypedRecord.cs +++ b/src/Generation/Generator/Renderer/Public/TypedRecord.cs @@ -25,7 +25,7 @@ namespace {Namespace.GetPublicName(record.Namespace)}; // AUTOGENERATED FILE - DO NOT MODIFY {PlatformSupportAttribute.Render(record as GirModel.PlatformDependent)} -public partial class {name} : GLib.BoxedRecord +public sealed partial class {name} : GLib.BoxedRecord {{ public {internalHandleName} Handle {{ get; }} diff --git a/src/Generation/Generator/Renderer/Public/UntypedRecord.cs b/src/Generation/Generator/Renderer/Public/UntypedRecord.cs index 53485ef81..6349c58cd 100644 --- a/src/Generation/Generator/Renderer/Public/UntypedRecord.cs +++ b/src/Generation/Generator/Renderer/Public/UntypedRecord.cs @@ -25,7 +25,7 @@ namespace {Namespace.GetPublicName(record.Namespace)}; // AUTOGENERATED FILE - DO NOT MODIFY {PlatformSupportAttribute.Render(record as GirModel.PlatformDependent)} -public partial class {name} +public sealed partial class {name} {{ public {internalHandleName} Handle {{ get; }} diff --git a/src/Tests/Libs/GirTest-0.1.Tests/OpaqueTypedRecordTest.cs b/src/Tests/Libs/GirTest-0.1.Tests/OpaqueTypedRecordTest.cs index 51113608b..46a6262e0 100644 --- a/src/Tests/Libs/GirTest-0.1.Tests/OpaqueTypedRecordTest.cs +++ b/src/Tests/Libs/GirTest-0.1.Tests/OpaqueTypedRecordTest.cs @@ -303,4 +303,10 @@ public void SupportsWrapHandle() recordTester.GetRefCount().Should().Be(2); wrapped.GetRefCount().Should().Be(2); } + + [TestMethod] + public void IsSealed() + { + typeof(OpaqueTypedRecordTester).IsSealed.Should().BeTrue(); + } } diff --git a/src/Tests/Libs/GirTest-0.1.Tests/OpaqueUntypedRecordTest.cs b/src/Tests/Libs/GirTest-0.1.Tests/OpaqueUntypedRecordTest.cs index e7804a66f..687fa50bd 100644 --- a/src/Tests/Libs/GirTest-0.1.Tests/OpaqueUntypedRecordTest.cs +++ b/src/Tests/Libs/GirTest-0.1.Tests/OpaqueUntypedRecordTest.cs @@ -294,4 +294,10 @@ public void SupportsWrapHandle() //TODO: Depends on https://github.com/gircore/gir.core/issues/946 Assert.Inconclusive(); } + + [TestMethod] + public void IsSealed() + { + typeof(OpaqueUntypedRecordTester).IsSealed.Should().BeTrue(); + } } diff --git a/src/Tests/Libs/GirTest-0.1.Tests/TypedRecordTest.cs b/src/Tests/Libs/GirTest-0.1.Tests/TypedRecordTest.cs index 0a5f91f3b..a40ae7b4a 100644 --- a/src/Tests/Libs/GirTest-0.1.Tests/TypedRecordTest.cs +++ b/src/Tests/Libs/GirTest-0.1.Tests/TypedRecordTest.cs @@ -374,4 +374,10 @@ public void HasParameterlessConstructor() var instance = new TypedRecordTester(); instance.Should().NotBeNull(); } + + [TestMethod] + public void IsSealed() + { + typeof(TypedRecordTester).IsSealed.Should().BeTrue(); + } } diff --git a/src/Tests/Libs/GirTest-0.1.Tests/UntypedRecordTest.cs b/src/Tests/Libs/GirTest-0.1.Tests/UntypedRecordTest.cs index 2e6dd8508..f44c86c95 100644 --- a/src/Tests/Libs/GirTest-0.1.Tests/UntypedRecordTest.cs +++ b/src/Tests/Libs/GirTest-0.1.Tests/UntypedRecordTest.cs @@ -118,4 +118,10 @@ public void SupportsRecordPointerArrayAsParameter() var result = UntypedRecordTester.GetAFromLastElementPointer(array); result.Should().Be(6); } + + [TestMethod] + public void IsSealed() + { + typeof(UntypedRecordTester).IsSealed.Should().BeTrue(); + } }