diff options
Diffstat (limited to 'Mono.Cecil/AssemblyWriter.cs')
-rw-r--r-- | Mono.Cecil/AssemblyWriter.cs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Mono.Cecil/AssemblyWriter.cs b/Mono.Cecil/AssemblyWriter.cs index 3ea1088..4fba786 100644 --- a/Mono.Cecil/AssemblyWriter.cs +++ b/Mono.Cecil/AssemblyWriter.cs @@ -1277,6 +1277,8 @@ namespace Mono.Cecil { void AttachTypeToken (TypeDefinition type) { + var treatment = WindowsRuntimeProjections.RemoveProjection (type); + type.token = new MetadataToken (TokenType.TypeDef, type_rid++); type.fields_range.Start = field_rid; type.methods_range.Start = method_rid; @@ -1289,6 +1291,8 @@ namespace Mono.Cecil { if (type.HasNestedTypes) AttachNestedTypesToken (type); + + WindowsRuntimeProjections.ApplyProjection (type, treatment); } void AttachNestedTypesToken (TypeDefinition type) @@ -1990,16 +1994,12 @@ namespace Mono.Cecil { MetadataToken GetMemberRefToken (MemberReference member) { - var projection = WindowsRuntimeProjections.RemoveProjection (member); - var row = CreateMemberRefRow (member); MetadataToken token; if (!member_ref_map.TryGetValue (row, out token)) token = AddMemberReference (member, row); - WindowsRuntimeProjections.ApplyProjection (member, projection); - return token; } |