@@ -630,7 +630,7 @@ class TypeRefBuilder {
630630private:
631631 std::vector<ReflectionInfo> ReflectionInfos;
632632
633- std::string normalizeReflectionName (RemoteRef<char > name);
633+ llvm::Optional< std::string> normalizeReflectionName (RemoteRef<char > name);
634634 bool reflectionNameMatches (RemoteRef<char > reflectionName,
635635 StringRef searchName);
636636
@@ -654,7 +654,7 @@ class TypeRefBuilder {
654654 // TypeRefBuilder struct, to isolate its template-ness from the rest of
655655 // TypeRefBuilder.
656656 unsigned PointerSize;
657- std::function<Demangle::Node * (RemoteRef<char >)>
657+ std::function<Demangle::Node * (RemoteRef<char >, bool )>
658658 TypeRefDemangler;
659659 std::function<const TypeRef* (uint64_t , unsigned )>
660660 OpaqueUnderlyingTypeReader;
@@ -665,10 +665,10 @@ class TypeRefBuilder {
665665 : TC(*this ),
666666 PointerSize (sizeof (typename Runtime::StoredPointer)),
667667 TypeRefDemangler(
668- [this , &reader](RemoteRef<char > string) -> Demangle::Node * {
668+ [this , &reader](RemoteRef<char > string, bool useOpaqueTypeSymbolicReferences ) -> Demangle::Node * {
669669 return reader.demangle (string,
670670 remote::MangledNameKind::Type,
671- Dem, /* useOpaqueTypeSymbolicReferences*/ true );
671+ Dem, useOpaqueTypeSymbolicReferences);
672672 }),
673673 OpaqueUnderlyingTypeReader (
674674 [&reader](uint64_t descriptorAddr, unsigned ordinal) -> const TypeRef* {
@@ -677,8 +677,9 @@ class TypeRefBuilder {
677677 })
678678 {}
679679
680- Demangle::Node *demangleTypeRef (RemoteRef<char > string) {
681- return TypeRefDemangler (string);
680+ Demangle::Node *demangleTypeRef (RemoteRef<char > string,
681+ bool useOpaqueTypeSymbolicReferences = true ) {
682+ return TypeRefDemangler (string, useOpaqueTypeSymbolicReferences);
682683 }
683684
684685 TypeConverter &getTypeConverter () { return TC; }
0 commit comments