private void WriteSubTypeInfo(TypeReference typeDefinition, TinyBinaryWriter writer) { UInt16 referenceId; if (typeDefinition is TypeSpecification && _context.TypeSpecificationsTable.TryGetTypeReferenceId(typeDefinition, out referenceId)) { writer.WriteMetadataToken(((UInt32)referenceId << 2) | 0x04); } else if (_context.TypeReferencesTable.TryGetTypeReferenceId(typeDefinition, out referenceId)) { writer.WriteMetadataToken(((UInt32)referenceId << 2) | 0x01); } else if (_context.TypeDefinitionTable.TryGetTypeReferenceId( typeDefinition.Resolve(), out referenceId)) { writer.WriteMetadataToken((UInt32)referenceId << 2); } }