<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Looks promising. Thanks Marcel<br>
</p>
<br>
<div class="moz-cite-prefix">Am 01.08.2017 um 16:51 schrieb Firat
Kasmis:<br>
</div>
<blockquote type="cite"
cite="mid:CAC8rT1-VAnrkzLsdZERmJhhM0y7_hG6HqZK=WRwDTJ+jYyoy1Q@mail.gmail.com">
<div dir="ltr">If you need a starting template for AST matchers, <a
href="https://github.com/firolino/clang-tool"
moz-do-not-send="true">https://github.com/firolino/clang-tool</a>
might be useful for you.</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2017-08-01 15:44 GMT+02:00 Marcel
Schaible via cfe-dev <span dir="ltr"><<a
href="mailto:cfe-dev@lists.llvm.org" target="_blank"
moz-do-not-send="true">cfe-dev@lists.llvm.org</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> At the moment I am
using the ASTConsumer/ASTVisitor interface. But I am
planing to switch to AST matchers asap.<br>
After scratching my head for a while I found the solution
for my problem. It was just a misunderstanding of the
inheritance tree.<br>
<br>
Thanks for your help<span class="HOEnZb"><font
color="#888888"><br>
<br>
Marcel</font></span>
<div>
<div class="h5"><br>
<div class="m_6494952880152468731moz-cite-prefix">Am
01.08.2017 um 13:48 schrieb Manuel Klimek:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr">On Tue, Aug 1, 2017 at 12:35 PM
Marcel Schaible <<a
href="mailto:marcel@schaible-consulting.de"
target="_blank" moz-do-not-send="true">marcel@schaible-consulting.de</a><wbr>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Manuel,
thanks for your help. Of course I went
already through a bunch of documentation
including libtooling.<br>
My tool is performing now the basic setup
and can transform some simple cases.<br>
<br>
Do you know by chance how to retrieve the
ASTContext from a ReturnStmt and a FuncDecl?<br>
</div>
</blockquote>
<div><br>
</div>
<div>Generally, if you use AST matchers you'll
have the ASTContext in the callback. What
exactly is the problem you're running into?</div>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><br>
BTW: Your presentation at the EURO LLVM was
very helpful!<br>
</div>
</blockquote>
<div><br>
</div>
<div>Thanks! :)</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <br>
Greetings from Munich</div>
<div text="#000000" bgcolor="#FFFFFF"><br>
<br>
Marcel</div>
<div text="#000000" bgcolor="#FFFFFF"><br>
<br>
<br>
<br>
<div
class="m_6494952880152468731m_1533006104724532659moz-cite-prefix">Am
01.08.2017 um 12:16 schrieb Manuel Klimek:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>You'll probably want to take a look
at libtooling:</div>
<a
href="https://clang.llvm.org/docs/LibTooling.html"
target="_blank" moz-do-not-send="true">https://clang.llvm.org/docs/<wbr>LibTooling.html</a><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Fri, Jul 28, 2017 at
4:54 PM Marcel Schaible via cfe-dev
<<a
href="mailto:cfe-dev@lists.llvm.org"
target="_blank"
moz-do-not-send="true">cfe-dev@lists.llvm.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>Hi everyone,</p>
let's consider the example:
<p><font face="Courier New, Courier,
monospace">int foo(int p) {</font></p>
<p><font face="Courier New, Courier,
monospace"> if ( p)</font></p>
<p><font face="Courier New, Courier,
monospace"> /* code path#1
*/<br>
</font></p>
<p><font face="Courier New, Courier,
monospace"> return 0;</font></p>
<p><font face="Courier New, Courier,
monospace"> else {</font></p>
<p><font face="Courier New, Courier,
monospace"> /* code
path#2 */<br>
</font></p>
<p><font face="Courier New, Courier,
monospace"> return 1;<br>
</font></p>
<p><font face="Courier New, Courier,
monospace"> }</font></p>
<p><font face="Courier New, Courier,
monospace">}<br>
</font></p>
<p>1. What is the best solution to
get the string representation of
the expression of a return
statement?</p>
<p>2. Because I want to perform some
transformation with return
statements I have to figure out if
they are enclosed in a block? <br>
</p>
<p>The example above should be
transformed in something like<br>
</p>
<p><font face="Courier New, Courier,
monospace">int foo(int p) {</font></p>
<p><font face="Courier New, Courier,
monospace"> if ( p) { /*
<---- */<br>
</font></p>
<p><font face="Courier New, Courier,
monospace"> /* do some
processing ... */<br>
</font></p>
<p><font face="Courier New, Courier,
monospace"> return 0;</font></p>
<p><font face="Courier New, Courier,
monospace"> } /* <--- */<br>
</font></p>
<p><font face="Courier New, Courier,
monospace"> else {</font></p>
<p><font face="Courier New, Courier,
monospace"> /* do some
processing ... */<br>
</font></p>
<font face="Courier New, Courier,
monospace"> return 1;<br>
</font>
<p><font face="Courier New, Courier,
monospace"> }</font></p>
<p><font face="Courier New, Courier,
monospace">}<br>
</font></p>
Any hints or pointers are welcome.<br>
<p>Thanks</p>
<p>Marcel<br>
</p>
</div>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a
href="mailto:cfe-dev@lists.llvm.org"
target="_blank"
moz-do-not-send="true">cfe-dev@lists.llvm.org</a><br>
<a
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev"
rel="noreferrer" target="_blank"
moz-do-not-send="true">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
</blockquote>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org"
moz-do-not-send="true">cfe-dev@lists.llvm.org</a><br>
<a
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>