@@ -139,10 +139,9 @@ class StringReplacements {
139139 }
140140
141141 inline void addTemplateDependentReplacementInConstExprExpansion (
142- size_t Offset, size_t Length, unsigned TemplateIndex) {
143- TDRsInConstExprExpansion.insert (
144- std::make_pair (Offset, std::make_shared<TemplateDependentReplacement>(
145- SourceStr, Offset, Length, TemplateIndex)));
142+ const std::map<size_t , std::shared_ptr<TemplateDependentReplacement>>
143+ &InTDRs) {
144+ TDRsInConstExprExpansion.insert (InTDRs.begin (), InTDRs.end ());
146145 }
147146
148147 inline void addConstExprExpansionInfo (std::string VDStr,
@@ -183,6 +182,10 @@ class StringReplacements {
183182 replaceString ();
184183 return SourceStr;
185184 }
185+ inline std::map<size_t , std::shared_ptr<TemplateDependentReplacement>>
186+ getTDRs () {
187+ return TDRs;
188+ }
186189
187190private:
188191 StringReplacements (const StringReplacements &) = delete ;
@@ -255,6 +258,10 @@ class ExprAnalysis {
255258 inline const std::string &getReplacedString () {
256259 return ReplSet.getReplacedString ();
257260 }
261+ inline std::map<size_t , std::shared_ptr<TemplateDependentReplacement>>
262+ getReplSetTDRs () {
263+ return ReplSet.getTDRs ();
264+ }
258265 inline std::shared_ptr<TemplateDependentStringInfo>
259266 getTemplateDependentStringInfo () {
260267 auto Res = ReplSet.getTemplateDependentStringInfo ();
@@ -608,11 +615,7 @@ class ExprAnalysis {
608615
609616 inline void addReplacement (size_t Offset, size_t Length,
610617 unsigned TemplateIndex) {
611- if (ConstExprExpansion)
612- ReplSet.addTemplateDependentReplacementInConstExprExpansion (
613- Offset, Length, TemplateIndex);
614- else
615- ReplSet.addTemplateDependentReplacement (Offset, Length, TemplateIndex);
618+ ReplSet.addTemplateDependentReplacement (Offset, Length, TemplateIndex);
616619 }
617620
618621 // Analyze the expression, jump to corresponding analysis function according
0 commit comments