From ec6204857da939e56288588cba01a3fa9ac98877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 24 Jan 2020 18:14:57 +0000 Subject: [PATCH] Fix signature output for type definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Simões --- .../Tables/nanoSignaturesTable.cs | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) 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); }