File tree Expand file tree Collapse file tree 2 files changed +9
-6
lines changed
validation-test/Reflection Expand file tree Collapse file tree 2 files changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -644,7 +644,10 @@ class DemanglingForTypeRef
644
644
645
645
Demangle::NodePointer visitMetatypeTypeRef (const MetatypeTypeRef *M) {
646
646
auto node = Dem.createNode (Node::Kind::Metatype);
647
- assert (!M->wasAbstract () && " not implemented" );
647
+ // FIXME: This is lossy. @objc_metatype is also abstract.
648
+ auto repr = Dem.createNode (Node::Kind::MetatypeRepresentation,
649
+ M->wasAbstract () ? " @thick" : " @thin" );
650
+ node->addChild (repr, Dem);
648
651
node->addChild (visit (M->getInstanceType ()), Dem);
649
652
return node;
650
653
}
Original file line number Diff line number Diff line change @@ -283,15 +283,15 @@ func getComposition() -> P & Q { return S() }
283
283
reflect ( any: getComposition ( ) )
284
284
// CHECK-64: Mangled name: $s12existentials1P_AA1Qp
285
285
// CHECK-64: Demangled name: existentials.P & existentials.Q
286
- // CHECK-32: Mangled name: $s12existentials1PP_AA1QPp
286
+ // CHECK-32: Mangled name: $s12existentials1P_AA1Qp
287
287
// CHECK-32: Demangled name: existentials.P & existentials.Q
288
288
289
289
// Metatype:
290
290
reflect ( any: Int . self)
291
- // CHECK-64: Mangled name: $sSim
292
- // CHECK-64: Demangled name: Swift.Int.Type
293
- // CHECK-32: Mangled name: $sSim
294
- // CHECK-32: Demangled name: Swift.Int.Type
291
+ // CHECK-64: Mangled name: $sSiXMt
292
+ // CHECK-64: Demangled name: @thin Swift.Int.Type
293
+ // CHECK-32: Mangled name: $sSiXMt
294
+ // CHECK-32: Demangled name: @thin Swift.Int.Type
295
295
296
296
protocol WithType {
297
297
associatedtype T
You can’t perform that action at this time.
0 commit comments