77
88namespace clang {
99namespace {
10- SmallVector< char > GetUSR (const FunctionDecl *FD) {
11- SmallVector< char > USR;
10+ std::string GetUSR (const FunctionDecl *FD) {
11+ SmallString< 32 > USR;
1212 index::generateUSRForDecl (FD, USR);
13- return USR;
13+ return USR. str (). str () ;
1414}
1515
1616class CallCollector : public ast_matchers ::MatchFinder::MatchCallback {
17- std::set<SmallVector< char > > Calls;
17+ std::set<std::string > Calls;
1818 bool callsOpaqueSymbol = false ;
1919
2020 virtual void
@@ -44,7 +44,7 @@ class CallCollector : public ast_matchers::MatchFinder::MatchCallback {
4444 }
4545
4646public:
47- std::pair<std::set<SmallVector< char > >, bool > collect (const FunctionDecl *FD) {
47+ std::pair<std::set<std::string >, bool > collect (const FunctionDecl *FD) {
4848 using namespace ast_matchers ;
4949 MatchFinder Finder;
5050
@@ -57,9 +57,9 @@ class CallCollector : public ast_matchers::MatchFinder::MatchCallback {
5757};
5858} // namespace
5959
60- FunctionSummary::FunctionSummary (SmallVector< char > ID,
60+ FunctionSummary::FunctionSummary (std::string ID,
6161 std::set<const SummaryAttr *> FunctionAttrs,
62- std::set<SmallVector< char > > Calls,
62+ std::set<std::string > Calls,
6363 bool CallsOpaque)
6464 : ID(std::move(ID)), Attrs(std::move(FunctionAttrs)),
6565 Calls (std::move(Calls)), CallsOpaque(CallsOpaque) {}
@@ -79,9 +79,9 @@ SummaryContext::SummaryContext() {
7979 registerAttr<NoWritePtrParameterAttr>();
8080}
8181
82- void SummaryContext::CreateSummary (SmallVector< char > ID,
82+ void SummaryContext::CreateSummary (std::string ID,
8383 std::set<const SummaryAttr *> Attrs,
84- std::set<SmallVector< char > > Calls,
84+ std::set<std::string > Calls,
8585 bool CallsOpaque) {
8686 if (IDToSummary.count (ID))
8787 return ;
@@ -116,7 +116,7 @@ void SummaryContext::ParseSummaryFromJSON(const llvm::json::Array &Summary) {
116116 for (auto it = Summary.begin (); it != Summary.end (); ++it) {
117117 const llvm::json::Object *FunctionSummary = it->getAsObject ();
118118
119- SmallString< 128 > ID (* FunctionSummary->getString (" id" ));
119+ std::string ID = FunctionSummary->getString (" id" )-> str ( );
120120 std::set<const SummaryAttr *> FunctionAttrs;
121121 const llvm::json::Array *FunctionAttributes =
122122 FunctionSummary->getObject (" attrs" )->getArray (" function" );
@@ -128,15 +128,15 @@ void SummaryContext::ParseSummaryFromJSON(const llvm::json::Array &Summary) {
128128 }
129129 }
130130
131- std::set<SmallVector< char > > Calls;
131+ std::set<std::string > Calls;
132132 const llvm::json::Object *CallsObject = FunctionSummary->getObject (" calls" );
133133 bool callsOpaue = *CallsObject->getBoolean (" opaque" );
134134
135135 const llvm::json::Array *CallEntries = CallsObject->getArray (" functions" );
136136 for (auto callIt = CallEntries->begin (); callIt != CallEntries->end ();
137137 ++callIt) {
138138 auto *Obj = callIt->getAsObject ();
139- Calls.emplace (SmallString< 128 >(* Obj->getString (" id" )));
139+ Calls.emplace (Obj->getString (" id" )-> str ( ));
140140 }
141141
142142 CreateSummary (std::move (ID), std::move (FunctionAttrs), std::move (Calls),
0 commit comments