1818#ifndef SWIFT_REFLECTION_TYPEREFBUILDER_H
1919#define SWIFT_REFLECTION_TYPEREFBUILDER_H
2020
21+ #include " swift/Demangling/ManglingFlavor.h"
2122#include " swift/Remote/ExternalTypeRefCache.h"
2223#include " swift/Remote/MetadataReader.h"
2324#include " swift/RemoteInspection/DescriptorFinder.h"
@@ -400,6 +401,10 @@ class TypeRefBuilder {
400401 TypeRefBuilder (const TypeRefBuilder &other) = delete ;
401402 TypeRefBuilder &operator =(const TypeRefBuilder &other) = delete ;
402403
404+ Mangle::ManglingFlavor getManglingFlavor () {
405+ return Mangle::ManglingFlavor::Default;
406+ }
407+
403408private:
404409 Demangle::Demangler Dem;
405410
@@ -851,7 +856,7 @@ class TypeRefBuilder {
851856 }
852857
853858 BuiltTypeDecl createTypeDecl (Node *node, std::vector<size_t > paramsPerLevel) {
854- auto mangling = Demangle::mangleNode (node);
859+ auto mangling = Demangle::mangleNode (node, getManglingFlavor () );
855860 if (!mangling.isSuccess ()) {
856861 return std::nullopt ;
857862 }
@@ -864,7 +869,7 @@ class TypeRefBuilder {
864869 }
865870
866871 BuiltTypeDecl createTypeDecl (Node *node, bool &typeAlias) {
867- auto mangling = Demangle::mangleNode (node);
872+ auto mangling = Demangle::mangleNode (node, getManglingFlavor () );
868873 if (!mangling.isSuccess ()) {
869874 return std::nullopt ;
870875 }
@@ -876,7 +881,7 @@ class TypeRefBuilder {
876881 }
877882
878883 BuiltProtocolDecl createProtocolDecl (Node *node) {
879- auto mangling = Demangle::mangleNode (node);
884+ auto mangling = Demangle::mangleNode (node, getManglingFlavor () );
880885 if (!mangling.isSuccess ()) {
881886 return std::nullopt ;
882887 }
@@ -979,7 +984,7 @@ class TypeRefBuilder {
979984 auto argBegin = args.begin ();
980985 for (size_t i = 0 ; i < nodes.size (); i++) {
981986 // Get the mangling for this node
982- auto mangling = Demangle::mangleNode (nodes[i]);
987+ auto mangling = Demangle::mangleNode (nodes[i], getManglingFlavor () );
983988 if (!mangling.isSuccess ()) {
984989 return nullptr ;
985990 }
@@ -1022,7 +1027,7 @@ class TypeRefBuilder {
10221027 return nullptr ;
10231028 }
10241029 auto startNode = node->getFirstChild ();
1025- auto mangling = Demangle::mangleNode (startNode);
1030+ auto mangling = Demangle::mangleNode (startNode, getManglingFlavor () );
10261031 if (!mangling.isSuccess ()) {
10271032 return nullptr ;
10281033 }
@@ -1107,7 +1112,8 @@ class TypeRefBuilder {
11071112 return underlyingTy->subst (*this , subs);
11081113 }
11091114
1110- auto mangling = mangleNode (opaqueDescriptor, SymbolicResolver (), Dem);
1115+ auto mangling = mangleNode (opaqueDescriptor, SymbolicResolver (), Dem,
1116+ getManglingFlavor ());
11111117 if (!mangling.isSuccess ())
11121118 return nullptr ;
11131119
@@ -2161,7 +2167,8 @@ class TypeRefBuilder {
21612167 std::string demangledTypeName =
21622168 nodeToString (demangleTypeRef (typeTypeRef));
21632169 std::string mangledTypeName;
2164- auto typeMangling = Demangle::mangleNode (demangleTypeRef (typeTypeRef));
2170+ auto typeMangling = Demangle::mangleNode (demangleTypeRef (typeTypeRef),
2171+ getManglingFlavor ());
21652172 if (!typeMangling.isSuccess ())
21662173 mangledTypeName = " " ;
21672174 else
@@ -2256,7 +2263,8 @@ class TypeRefBuilder {
22562263 auto typeRoot = nomTypeDescriptorRoot->getChild (0 );
22572264 typeName = nodeToString (typeRoot);
22582265
2259- auto typeMangling = Demangle::mangleNode (typeRoot);
2266+ auto typeMangling =
2267+ Demangle::mangleNode (typeRoot, Mangle::ManglingFlavor::Default);
22602268 if (!typeMangling.isSuccess ())
22612269 mangledTypeName = " " ;
22622270 else
0 commit comments