<div dir="ltr">On Mon, Jun 17, 2013 at 9:47 AM, Wang Qi <span dir="ltr"><<a href="mailto:wqking@outlook.com" target="_blank">wqking@outlook.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, all,<br>
<br>
I'm quite new to Clang, but I'd thank for all your great work.<br>
<br>
Assume I have below code,<br>
<br>
struct Abc {<br>
    static const int A = 5;<br>
    void func(int a = A + 1); // note the default value<br>
};<br>
<br>
What I want to do is to use Clang to parse the code, and<br>
when I find the default value "A + 1", I put the expression<br>
to a tool generated C++ file, and use the expression there.<br>
<br>
The generated C++ code may look like,<br>
<br>
int defaultValue = Abc::A + 1; // this is in global namespace<br>
<br>
But now I can only get the expression text from Expr's<br>
source location, that results the generated code look like,<br>
<br>
int defaultValue = A + 1; // Can't compile!<br>
<br>
So my question is, how to get the expression text with all<br>
values and types fully qualified? Travel through the expression tree<br>
and reconstruct the text should work, but that may be too complicated.<br></blockquote><div><br></div><div style>That pretty much seems like the only approach I can think of, too...</div><div> </div><div style>Cheers,</div>
<div style>/Manuel</div></div></div></div>