diff --git a/source/MetadataProcessor.Core/Tables/nanoSignaturesTable.cs b/source/MetadataProcessor.Core/Tables/nanoSignaturesTable.cs index 3783381e..85040065 100644 --- a/source/MetadataProcessor.Core/Tables/nanoSignaturesTable.cs +++ b/source/MetadataProcessor.Core/Tables/nanoSignaturesTable.cs @@ -225,14 +225,24 @@ public void WriteDataType( bool expandEnumType, bool isTypeDefinition) { - if (!isTypeDefinition) + if (isTypeDefinition) { - nanoCLR_DataType dataType; - if (PrimitiveTypes.TryGetValue(typeDefinition.FullName, out dataType)) + if (typeDefinition.MetadataType == MetadataType.Object) { - writer.WriteByte((byte)dataType); + writer.WriteByte((byte)nanoCLR_DataType.DATATYPE_CLASS); return; } + else + { + + } + } + + nanoCLR_DataType dataType; + if (PrimitiveTypes.TryGetValue(typeDefinition.FullName, out dataType)) + { + writer.WriteByte((byte)dataType); + return; } if (typeDefinition is TypeSpecification) @@ -283,12 +293,6 @@ public void WriteDataType( return; } - if(typeDefinition.MetadataType == MetadataType.Object) - { - writer.WriteByte((byte)nanoCLR_DataType.DATATYPE_CLASS); - return; - } - writer.WriteByte(0x00); }