Skip to content

Commit 33f89a1

Browse files
committed
[Runtime] Form metatypes based on mangled names.
1 parent 83fd37a commit 33f89a1

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

stdlib/public/runtime/MetadataLookup.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,7 @@ class DecodedMetadataBuilder {
281281
}
282282

283283
BuiltType createMetatypeType(BuiltType instance, bool wasAbstract) const {
284-
// FIXME: Implement.
285-
return BuiltType();
284+
return swift_getMetatypeMetadata(instance);
286285
}
287286

288287
BuiltType createExistentialMetatypeType(BuiltType instance) const {

test/Runtime/demangleToMetadata.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,10 @@ DemangleToMetadataTests.test("function types") {
6565
expectEqual(type(of: f2_variadic_inout), _typeByMangledName("yyytd_ytztc")!)
6666
}
6767

68+
DemangleToMetadataTests.test("metatype types") {
69+
expectEqual(type(of: type(of: ())), _typeByMangledName("ytm")!)
70+
expectEqual(type(of: type(of: f0)), _typeByMangledName("yycm")!)
71+
}
72+
6873
runAllTests()
6974

0 commit comments

Comments
 (0)