<div dir="ltr">Is there a way to "modify the source" and reparse the text during the AST TreeTransform process?<div><br></div><div>I am trying to make a local change that would fix the bug:</div><div><a href="http://llvm.org/bugs/show_bug.cgi?id=18443">http://llvm.org/bugs/show_bug.cgi?id=18443</a> </div>
<div><br></div><div>The idea would be to replace the nodes that are rendered as: </div><div><div>UnaryExprOrTypeTraitExpr 0x10c4f18 <col:41, col:55> 'unsigned int' sizeof</div><div>`-ParenExpr 0x10c4f00 <col:47, col:55> '<dependent type>' lvalue</div>
<div>  `-DependentScopeDeclRefExpr 0x10c4ed8 <col:48, col:51> '<dependent type>' lvalue</div></div><div>with </div><div>UnaryExprOrTypeTraitExpr 0xf64f28 <col:41, col:64> 'unsigned int' sizeof 'typename T::type'<br>
</div><div><br></div><div>simply by adding "typename" before the symbol, and then the parser would handle it correctly. and generate the correct UnaryExprOrTypeTraitExpr</div><div><br></div><div>Solutions I would accept include:</div>
<div>1) Change the source and reprocess the file (a la "Fixit"), but this has a high overhead for large files/projects</div><div>2) Ask the parser for the single Expr that would be generated from the new text</div>
<div>3) A way to look up what the existing typename would be manually and create the expr manually.</div><div>4) Other thing I'm too new to know about.</div><div><br></div><div>Thanks,<br>JB</div><div><br></div><div>FYI: I'm trying to do this from the context of TransformUnaryExprOrTypeTraitExpr</div>








</div>