@@ -1906,7 +1906,7 @@ SwiftLanguage::GetDemangledFunctionNameWithoutArguments(Mangled mangled) const {
19061906 return mangled_name;
19071907}
19081908
1909- static llvm::Expected<std::pair<llvm::StringRef , DemangledNameInfo>>
1909+ static llvm::Expected<std::pair<std::string , DemangledNameInfo>>
19101910GetAndValidateInfo (const SymbolContext &sc) {
19111911 Mangled mangled = sc.GetPossiblyInlinedFunctionName ();
19121912 if (!mangled)
@@ -1936,19 +1936,19 @@ GetAndValidateInfo(const SymbolContext &sc) {
19361936 return std::make_pair (demangled_name, info);
19371937}
19381938
1939- static llvm::Expected<llvm::StringRef >
1939+ static llvm::Expected<std::string >
19401940GetDemangledBasename (const SymbolContext &sc) {
19411941 auto info_or_err = GetAndValidateInfo (sc);
19421942 if (!info_or_err)
19431943 return info_or_err.takeError ();
19441944
19451945 auto [demangled_name, info] = *info_or_err;
19461946
1947- return demangled_name.slice (info.BasenameRange .first ,
1948- info.BasenameRange .second );
1947+ return demangled_name.substr (info.BasenameRange .first ,
1948+ info.BasenameRange .second );
19491949}
19501950
1951- static llvm::Expected<llvm::StringRef >
1951+ static llvm::Expected<std::string >
19521952GetDemangledFunctionPrefix (const SymbolContext &sc) {
19531953 auto info_or_err = GetAndValidateInfo (sc);
19541954 if (!info_or_err)
@@ -1961,10 +1961,10 @@ GetDemangledFunctionPrefix(const SymbolContext &sc) {
19611961 " DemangledInfo for '%s does not have suffix range." ,
19621962 demangled_name.data ());
19631963
1964- return demangled_name.slice (info.PrefixRange .first , info.PrefixRange .second );
1964+ return demangled_name.substr (info.PrefixRange .first , info.PrefixRange .second );
19651965}
19661966
1967- static llvm::Expected<llvm::StringRef >
1967+ static llvm::Expected<std::string >
19681968GetDemangledFunctionSuffix (const SymbolContext &sc) {
19691969 auto info_or_err = GetAndValidateInfo (sc);
19701970 if (!info_or_err)
@@ -1977,7 +1977,7 @@ GetDemangledFunctionSuffix(const SymbolContext &sc) {
19771977 " DemangledInfo for '%s does not have suffix range." ,
19781978 demangled_name.data ());
19791979
1980- return demangled_name.slice (info.SuffixRange .first , info.SuffixRange .second );
1980+ return demangled_name.substr (info.SuffixRange .first , info.SuffixRange .second );
19811981}
19821982
19831983static bool PrintDemangledArgumentList (Stream &s, const SymbolContext &sc) {
@@ -1995,8 +1995,8 @@ static bool PrintDemangledArgumentList(Stream &s, const SymbolContext &sc) {
19951995 if (!info.hasArguments ())
19961996 return false ;
19971997
1998- s << demangled_name.slice (info.ArgumentsRange .first ,
1999- info.ArgumentsRange .second );
1998+ s << demangled_name.substr (info.ArgumentsRange .first ,
1999+ info.ArgumentsRange .second );
20002000
20012001 return true ;
20022002}
0 commit comments