diff --git a/source/MetadataProcessor.Core/Utility/nanoCLR_DataType.cs b/source/MetadataProcessor.Core/Utility/nanoCLR_DataType.cs index 2b3436de..a71ce5ab 100644 --- a/source/MetadataProcessor.Core/Utility/nanoCLR_DataType.cs +++ b/source/MetadataProcessor.Core/Utility/nanoCLR_DataType.cs @@ -1,4 +1,4 @@ -// +// // Copyright (c) 2019 The nanoFramework project contributors // Original work from Oleg Rakhmatulin. // See LICENSE file in the project root for full license information. @@ -31,6 +31,16 @@ internal enum nanoCLR_DataType : byte DATATYPE_TIMESPAN, // 8 bytes // Shortcut for System.TimeSpan DATATYPE_STRING, + // This is the last type that doesn't need to be relocated + DATATYPE_LAST_NONPOINTER = DATATYPE_TIMESPAN, + // All the above types don't need fix-up on assignment + DATATYPE_LAST_PRIMITIVE_TO_PRESERVE = DATATYPE_R8, + // All the above types can be marshaled by assignment. + DATATYPE_LAST_PRIMITIVE_TO_MARSHAL = DATATYPE_TIMESPAN, + + // All the above types don't need fix-up on assignment. + DATATYPE_LAST_PRIMITIVE = DATATYPE_STRING, + DATATYPE_OBJECT, // Shortcut for System.Object DATATYPE_CLASS, // CLASS DATATYPE_VALUETYPE, // VALUETYPE