@@ -646,25 +646,47 @@ TEST_F(TestTypeSystemSwiftTypeRef, GetInstanceType) {
646
646
NodeBuilder b (dem);
647
647
{
648
648
NodePointer n = b.GlobalType (
649
- b.Node (Node::Kind::Metatype,
650
- b.Node (Node::Kind::MetatypeRepresentation, " @thin" ),
651
- b.Node (Node::Kind::Type,
652
- b.Node (Node::Kind::Structure,
653
- b.Node (Node::Kind::Module, " Swift" ),
654
- b.Node (Node::Kind::Identifier, " String" )))));
649
+ b.Node (Node::Kind::Metatype,
650
+ b.Node (Node::Kind::MetatypeRepresentation, " @thin" ),
651
+ b.Node (Node::Kind::Type,
652
+ b.Node (Node::Kind::Structure,
653
+ b.Node (Node::Kind::Module, " Swift" ),
654
+ b.Node (Node::Kind::Identifier, " String" )))));
655
655
656
656
CompilerType t = GetCompilerType (b.Mangle (n));
657
- CompilerType instance_type = m_swift_ts.GetInstanceType (t.GetOpaqueQualType ());
657
+ CompilerType instance_type =
658
+ m_swift_ts.GetInstanceType (t.GetOpaqueQualType ());
658
659
ASSERT_EQ (instance_type.GetMangledTypeName (), " $sSSD" );
659
660
};
660
661
{
661
662
NodePointer n = b.GlobalType (
662
- b.Node (Node::Kind::Structure,
663
- b.Node (Node::Kind::Module, " Swift" ),
664
- b.Node (Node::Kind::Identifier, " String" )));
663
+ b.Node (Node::Kind::Structure, b.Node (Node::Kind::Module, " Swift" ),
664
+ b.Node (Node::Kind::Identifier, " String" )));
665
665
666
666
CompilerType t = GetCompilerType (b.Mangle (n));
667
- CompilerType instance_type = m_swift_ts.GetInstanceType (t.GetOpaqueQualType ());
667
+ CompilerType instance_type =
668
+ m_swift_ts.GetInstanceType (t.GetOpaqueQualType ());
668
669
ASSERT_EQ (instance_type.GetMangledTypeName (), " $sSSD" );
669
670
};
670
671
};
672
+
673
+ TEST_F (TestTypeSystemSwiftTypeRef, IsTypedefType) {
674
+ using namespace swift ::Demangle;
675
+ Demangler dem;
676
+ NodeBuilder b (dem);
677
+ {
678
+ NodePointer n = b.GlobalType (
679
+ b.Node (Node::Kind::TypeAlias, b.Node (Node::Kind::Module, " module" ),
680
+ b.Node (Node::Kind::Identifier, " Alias" )));
681
+ CompilerType t = GetCompilerType (b.Mangle (n));
682
+ ASSERT_TRUE (t.IsTypedefType ());
683
+ };
684
+ {
685
+ NodePointer n = b.GlobalType (
686
+ b.Node (Node::Kind::Structure, b.Node (Node::Kind::Module, " module" ),
687
+ b.Node (Node::Kind::Identifier, " SomeNotAliasedType" )));
688
+ CompilerType t = GetCompilerType (b.Mangle (n));
689
+ ASSERT_FALSE (t.IsTypedefType ());
690
+ };
691
+ };
692
+
0 commit comments