From c259302bf1ddb753576386008c540b7e685d6769 Mon Sep 17 00:00:00 2001 From: Jerome Haltom Date: Wed, 31 Jul 2024 19:38:45 -0500 Subject: [PATCH] Make some stuff read only. --- src/IKVM.ByteCode/Parsing/AnnotationDefaultAttributeRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/AnnotationRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/AttributeInfoRecord.cs | 2 +- .../Parsing/BootstrapMethodsAttributeMethodRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ClassRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ElementValuePairRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ElementValueRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ExceptionHandlerRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/InnerClassesAttributeItemRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/LineNumberTableAttributeItemRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/LocalVariableTargetTableItemRecord.cs | 2 +- .../Parsing/LocalVariableTypeTableAttributeItemRecord.cs | 2 +- .../Parsing/MethodParametersAttributeParameterRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/MethodRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ModuleAttributeExportsRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ModuleAttributeOpensRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ModuleAttributeProvidesRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ModuleAttributeRequiresRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/ParameterAnnotationRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/RecordAttributeComponentRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/TypePathItemRecord.cs | 2 +- src/IKVM.ByteCode/Parsing/TypePathRecord.cs | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/IKVM.ByteCode/Parsing/AnnotationDefaultAttributeRecord.cs b/src/IKVM.ByteCode/Parsing/AnnotationDefaultAttributeRecord.cs index 418cf6f..8d05206 100644 --- a/src/IKVM.ByteCode/Parsing/AnnotationDefaultAttributeRecord.cs +++ b/src/IKVM.ByteCode/Parsing/AnnotationDefaultAttributeRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public sealed record AnnotationDefaultAttributeRecord(ElementValueRecord DefaultValue) : AttributeRecord + public sealed record class AnnotationDefaultAttributeRecord(ElementValueRecord DefaultValue) : AttributeRecord { public static bool TryReadAnnotationDefaultAttribute(ref ClassFormatReader reader, out AttributeRecord attribute) diff --git a/src/IKVM.ByteCode/Parsing/AnnotationRecord.cs b/src/IKVM.ByteCode/Parsing/AnnotationRecord.cs index 70dd6d3..bdfdee7 100644 --- a/src/IKVM.ByteCode/Parsing/AnnotationRecord.cs +++ b/src/IKVM.ByteCode/Parsing/AnnotationRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct AnnotationRecord(Utf8ConstantHandle Type, ElementValuePairRecord[] Elements) + public readonly record struct AnnotationRecord(Utf8ConstantHandle Type, ElementValuePairRecord[] Elements) { public static bool TryReadAnnotation(ref ClassFormatReader reader, out AnnotationRecord annotation) diff --git a/src/IKVM.ByteCode/Parsing/AttributeInfoRecord.cs b/src/IKVM.ByteCode/Parsing/AttributeInfoRecord.cs index b1ddc92..d6b814d 100644 --- a/src/IKVM.ByteCode/Parsing/AttributeInfoRecord.cs +++ b/src/IKVM.ByteCode/Parsing/AttributeInfoRecord.cs @@ -3,7 +3,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct AttributeInfoRecord(Utf8ConstantHandle Name, byte[] Data) + public readonly record struct AttributeInfoRecord(Utf8ConstantHandle Name, byte[] Data) { /// diff --git a/src/IKVM.ByteCode/Parsing/BootstrapMethodsAttributeMethodRecord.cs b/src/IKVM.ByteCode/Parsing/BootstrapMethodsAttributeMethodRecord.cs index ebb75d7..5c1df3a 100644 --- a/src/IKVM.ByteCode/Parsing/BootstrapMethodsAttributeMethodRecord.cs +++ b/src/IKVM.ByteCode/Parsing/BootstrapMethodsAttributeMethodRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct BootstrapMethodsAttributeMethodRecord(MethodrefConstantHandle Methodref, ConstantHandle[] Arguments) + public readonly record struct BootstrapMethodsAttributeMethodRecord(MethodrefConstantHandle Methodref, ConstantHandle[] Arguments) { public static bool TryReadBootstrapMethod(ref ClassFormatReader reader, out BootstrapMethodsAttributeMethodRecord method) diff --git a/src/IKVM.ByteCode/Parsing/ClassRecord.cs b/src/IKVM.ByteCode/Parsing/ClassRecord.cs index d743630..cb0f299 100644 --- a/src/IKVM.ByteCode/Parsing/ClassRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ClassRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct ClassRecord(ushort MinorVersion, ushort MajorVersion, ConstantRecord[] Constants, AccessFlag AccessFlags, ClassConstantHandle ThisClass, ClassConstantHandle SuperClass, InterfaceRecord[] Interfaces, FieldRecord[] Fields, MethodRecord[] Methods, AttributeInfoRecord[] Attributes) + public readonly record struct ClassRecord(ushort MinorVersion, ushort MajorVersion, ConstantRecord[] Constants, AccessFlag AccessFlags, ClassConstantHandle ThisClass, ClassConstantHandle SuperClass, InterfaceRecord[] Interfaces, FieldRecord[] Fields, MethodRecord[] Methods, AttributeInfoRecord[] Attributes) { public const uint MAGIC = 0xCAFEBABE; diff --git a/src/IKVM.ByteCode/Parsing/ElementValuePairRecord.cs b/src/IKVM.ByteCode/Parsing/ElementValuePairRecord.cs index 6969a8b..9b4b00d 100644 --- a/src/IKVM.ByteCode/Parsing/ElementValuePairRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ElementValuePairRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct ElementValuePairRecord(Utf8ConstantHandle Name, ElementValueRecord Value) + public readonly record struct ElementValuePairRecord(Utf8ConstantHandle Name, ElementValueRecord Value) { public static bool TryRead(ref ClassFormatReader reader, out ElementValuePairRecord record) diff --git a/src/IKVM.ByteCode/Parsing/ElementValueRecord.cs b/src/IKVM.ByteCode/Parsing/ElementValueRecord.cs index 17651db..356cc3c 100644 --- a/src/IKVM.ByteCode/Parsing/ElementValueRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ElementValueRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct ElementValueRecord(ElementValueTag Tag, ElementValueValueRecord Value) + public readonly record struct ElementValueRecord(ElementValueTag Tag, ElementValueValueRecord Value) { public static bool TryRead(ref ClassFormatReader reader, out ElementValueRecord record) diff --git a/src/IKVM.ByteCode/Parsing/ExceptionHandlerRecord.cs b/src/IKVM.ByteCode/Parsing/ExceptionHandlerRecord.cs index a1ca72c..06f3065 100644 --- a/src/IKVM.ByteCode/Parsing/ExceptionHandlerRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ExceptionHandlerRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct ExceptionHandlerRecord(ushort StartOffset, ushort EndOffset, ushort HandlerOffset, ClassConstantHandle CatchType); + public readonly record struct ExceptionHandlerRecord(ushort StartOffset, ushort EndOffset, ushort HandlerOffset, ClassConstantHandle CatchType); } diff --git a/src/IKVM.ByteCode/Parsing/InnerClassesAttributeItemRecord.cs b/src/IKVM.ByteCode/Parsing/InnerClassesAttributeItemRecord.cs index 2d144fd..b39c2f4 100644 --- a/src/IKVM.ByteCode/Parsing/InnerClassesAttributeItemRecord.cs +++ b/src/IKVM.ByteCode/Parsing/InnerClassesAttributeItemRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct InnerClassesAttributeItemRecord(ClassConstantHandle InnerClass, ClassConstantHandle OuterClass, Utf8ConstantHandle InnerName, AccessFlag InnerClassAccessFlags); + public readonly record struct InnerClassesAttributeItemRecord(ClassConstantHandle InnerClass, ClassConstantHandle OuterClass, Utf8ConstantHandle InnerName, AccessFlag InnerClassAccessFlags); } diff --git a/src/IKVM.ByteCode/Parsing/LineNumberTableAttributeItemRecord.cs b/src/IKVM.ByteCode/Parsing/LineNumberTableAttributeItemRecord.cs index 1c6d490..a79bae6 100644 --- a/src/IKVM.ByteCode/Parsing/LineNumberTableAttributeItemRecord.cs +++ b/src/IKVM.ByteCode/Parsing/LineNumberTableAttributeItemRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct LineNumberTableAttributeItemRecord(ushort CodeOffset, ushort LineNumber); + public readonly record struct LineNumberTableAttributeItemRecord(ushort CodeOffset, ushort LineNumber); } diff --git a/src/IKVM.ByteCode/Parsing/LocalVariableTargetTableItemRecord.cs b/src/IKVM.ByteCode/Parsing/LocalVariableTargetTableItemRecord.cs index 589e614..74f5624 100644 --- a/src/IKVM.ByteCode/Parsing/LocalVariableTargetTableItemRecord.cs +++ b/src/IKVM.ByteCode/Parsing/LocalVariableTargetTableItemRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct LocalVariableTargetTableItemRecord(ushort Offset, ushort Length, ushort Index) + public readonly record struct LocalVariableTargetTableItemRecord(ushort Offset, ushort Length, ushort Index) { public static bool TryRead(ref ClassFormatReader reader, out LocalVariableTargetTableItemRecord record) diff --git a/src/IKVM.ByteCode/Parsing/LocalVariableTypeTableAttributeItemRecord.cs b/src/IKVM.ByteCode/Parsing/LocalVariableTypeTableAttributeItemRecord.cs index 50f888c..0644bec 100644 --- a/src/IKVM.ByteCode/Parsing/LocalVariableTypeTableAttributeItemRecord.cs +++ b/src/IKVM.ByteCode/Parsing/LocalVariableTypeTableAttributeItemRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct LocalVariableTypeTableAttributeItemRecord(ushort CodeOffset, ushort CodeLength, Utf8ConstantHandle Name, Utf8ConstantHandle Signature, ushort Index); + public readonly record struct LocalVariableTypeTableAttributeItemRecord(ushort CodeOffset, ushort CodeLength, Utf8ConstantHandle Name, Utf8ConstantHandle Signature, ushort Index); } diff --git a/src/IKVM.ByteCode/Parsing/MethodParametersAttributeParameterRecord.cs b/src/IKVM.ByteCode/Parsing/MethodParametersAttributeParameterRecord.cs index 09f011d..59dc5f7 100644 --- a/src/IKVM.ByteCode/Parsing/MethodParametersAttributeParameterRecord.cs +++ b/src/IKVM.ByteCode/Parsing/MethodParametersAttributeParameterRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct MethodParametersAttributeParameterRecord(Utf8ConstantHandle Name, AccessFlag AccessFlags); + public readonly record struct MethodParametersAttributeParameterRecord(Utf8ConstantHandle Name, AccessFlag AccessFlags); } diff --git a/src/IKVM.ByteCode/Parsing/MethodRecord.cs b/src/IKVM.ByteCode/Parsing/MethodRecord.cs index 8cbe5ba..63c2e1a 100644 --- a/src/IKVM.ByteCode/Parsing/MethodRecord.cs +++ b/src/IKVM.ByteCode/Parsing/MethodRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct MethodRecord(AccessFlag AccessFlags, Utf8ConstantHandle Name, Utf8ConstantHandle Descriptor, AttributeInfoRecord[] Attributes) + public readonly record struct MethodRecord(AccessFlag AccessFlags, Utf8ConstantHandle Name, Utf8ConstantHandle Descriptor, AttributeInfoRecord[] Attributes) { /// diff --git a/src/IKVM.ByteCode/Parsing/ModuleAttributeExportsRecord.cs b/src/IKVM.ByteCode/Parsing/ModuleAttributeExportsRecord.cs index d340249..d52c461 100644 --- a/src/IKVM.ByteCode/Parsing/ModuleAttributeExportsRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ModuleAttributeExportsRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct ModuleAttributeExportsRecord(ushort Index, ModuleExportsFlag Flags, ushort[] Modules); + public readonly record struct ModuleAttributeExportsRecord(ushort Index, ModuleExportsFlag Flags, ushort[] Modules); } diff --git a/src/IKVM.ByteCode/Parsing/ModuleAttributeOpensRecord.cs b/src/IKVM.ByteCode/Parsing/ModuleAttributeOpensRecord.cs index 1ef1f42..aeb5219 100644 --- a/src/IKVM.ByteCode/Parsing/ModuleAttributeOpensRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ModuleAttributeOpensRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct ModuleAttributeOpensRecord(ushort Index, ModuleOpensFlag Flags, ushort[] Modules); + public readonly record struct ModuleAttributeOpensRecord(ushort Index, ModuleOpensFlag Flags, ushort[] Modules); } diff --git a/src/IKVM.ByteCode/Parsing/ModuleAttributeProvidesRecord.cs b/src/IKVM.ByteCode/Parsing/ModuleAttributeProvidesRecord.cs index 4801ddc..0d3a29c 100644 --- a/src/IKVM.ByteCode/Parsing/ModuleAttributeProvidesRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ModuleAttributeProvidesRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct ModuleAttributeProvidesRecord(ushort Index, ushort[] Modules); + public readonly record struct ModuleAttributeProvidesRecord(ushort Index, ushort[] Modules); } diff --git a/src/IKVM.ByteCode/Parsing/ModuleAttributeRequiresRecord.cs b/src/IKVM.ByteCode/Parsing/ModuleAttributeRequiresRecord.cs index 5deb264..13eec1c 100644 --- a/src/IKVM.ByteCode/Parsing/ModuleAttributeRequiresRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ModuleAttributeRequiresRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct ModuleAttributeRequiresRecord(ushort Index, ModuleRequiresFlag Flag, ushort VersionIndex); + public readonly record struct ModuleAttributeRequiresRecord(ushort Index, ModuleRequiresFlag Flag, ushort VersionIndex); } \ No newline at end of file diff --git a/src/IKVM.ByteCode/Parsing/ParameterAnnotationRecord.cs b/src/IKVM.ByteCode/Parsing/ParameterAnnotationRecord.cs index 4254364..f85a473 100644 --- a/src/IKVM.ByteCode/Parsing/ParameterAnnotationRecord.cs +++ b/src/IKVM.ByteCode/Parsing/ParameterAnnotationRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct ParameterAnnotationRecord(AnnotationRecord[] Annotations) + public readonly record struct ParameterAnnotationRecord(AnnotationRecord[] Annotations) { public static bool TryReadParameterAnnotation(ref ClassFormatReader reader, out ParameterAnnotationRecord record) diff --git a/src/IKVM.ByteCode/Parsing/RecordAttributeComponentRecord.cs b/src/IKVM.ByteCode/Parsing/RecordAttributeComponentRecord.cs index 5943e3e..2a58d8e 100644 --- a/src/IKVM.ByteCode/Parsing/RecordAttributeComponentRecord.cs +++ b/src/IKVM.ByteCode/Parsing/RecordAttributeComponentRecord.cs @@ -1,6 +1,6 @@ namespace IKVM.ByteCode.Parsing { - public record struct RecordAttributeComponentRecord(Utf8ConstantHandle Name, Utf8ConstantHandle Descriptor, AttributeInfoRecord[] Attributes); + public readonly record struct RecordAttributeComponentRecord(Utf8ConstantHandle Name, Utf8ConstantHandle Descriptor, AttributeInfoRecord[] Attributes); } diff --git a/src/IKVM.ByteCode/Parsing/TypePathItemRecord.cs b/src/IKVM.ByteCode/Parsing/TypePathItemRecord.cs index 600dd5b..ab9c047 100644 --- a/src/IKVM.ByteCode/Parsing/TypePathItemRecord.cs +++ b/src/IKVM.ByteCode/Parsing/TypePathItemRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct TypePathItemRecord(TypePathKind Kind, byte ArgumentIndex) + public readonly record struct TypePathItemRecord(TypePathKind Kind, byte ArgumentIndex) { public static bool TryRead(ref ClassFormatReader reader, out TypePathItemRecord record) diff --git a/src/IKVM.ByteCode/Parsing/TypePathRecord.cs b/src/IKVM.ByteCode/Parsing/TypePathRecord.cs index b3ca2c1..c194ed8 100644 --- a/src/IKVM.ByteCode/Parsing/TypePathRecord.cs +++ b/src/IKVM.ByteCode/Parsing/TypePathRecord.cs @@ -1,7 +1,7 @@ namespace IKVM.ByteCode.Parsing { - public record struct TypePathRecord(params TypePathItemRecord[] Path) + public readonly record struct TypePathRecord(params TypePathItemRecord[] Path) { public static bool TryRead(ref ClassFormatReader reader, out TypePathRecord typePath)