<div dir="ltr"><br><br><div class="gmail_quote">On Fri, May 11, 2012 at 6:09 PM, Eran Ifrah <span dir="ltr"><<a href="mailto:eran.ifrah@gmail.com" target="_blank">eran.ifrah@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div><div class="h5"><br><br><div class="gmail_quote">On Fri, May 11, 2012 at 5:00 PM, Nikola Smiljanic <span dir="ltr"><<a href="mailto:popizdeh@gmail.com" target="_blank">popizdeh@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What about clang_getCursorDefinition. The documentation sounds like<br>
this is what you're looking for but I might be wrong.<br>
<br>
<a href="http://clang.llvm.org/doxygen/group__CINDEX__CURSOR__XREF.html" target="_blank">http://clang.llvm.org/doxygen/group__CINDEX__CURSOR__XREF.html</a><br>
</blockquote></div><br></div></div>Thanks, that was what I was looking for<div class="im"><br clear="all"><div><br></div></div></div></blockquote><div>I celebrated too soon...</div><div>It worked on some cases, e.g.:</div>

<div>I issued the 'find implementation' from the *source* file where the implementation actually exists and it worked. But when I issued 'Find Implementation' from another source, it failed.</div><div><br>

</div><div>The logic to find the definition of a function is implemented like this:</div><div><br></div><div>- Load the TU of the current file opened in the editor</div><div>- Get the cursor at a given location</div><div>

- Assuming that the returned cursor is valid but not a definition (clang_isCursorDefinition() == 0) call to 'clang_getCursorDefinition' using the previously cursor as the input</div><div><br></div><div>At this point, the returned cursor is 'InvalidFirst'</div>

<div>My guess is that libclang fails to find the implementation since it does not exists in the current TU</div><div><br></div><div>So the question is: how do I find a function definition which exists in another TU (but is associated to the same Index) </div>

<div><br></div><div>And in General are there any good practices to work with multiple translation units?</div><div><br></div><div>Off-topic question:</div><div>It seems to me that my questions are 'user' questions (as in 'user of libclang') but not really related to LLVM development... is this the correct mailing list?</div>

<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im"><div></div>-- <br><div dir="ltr">Eran Ifrah<br>Author of the cross platform, open source C++ IDE: <a href="http://www.codelite.org" target="_blank">http://www.codelite.org</a><br>


YTubePlayer <a href="http://www.ytubeplayer.com" target="_blank">http://www.ytubeplayer.com</a></div><br>
</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Eran Ifrah<br>Author of the cross platform, open source C++ IDE: <a href="http://www.codelite.org" target="_blank">http://www.codelite.org</a><br>

YTubePlayer <a href="http://www.ytubeplayer.com" target="_blank">http://www.ytubeplayer.com</a></div><br>
</div>