<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jul 3, 2014 at 6:31 PM, Daniel Dilts <span dir="ltr"><<a href="mailto:diltsman@gmail.com" target="_blank">diltsman@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">I seem to remember reading somewhere that you could implement autocomplete using Clang, and it would list all symbols that are valid at that location.  Couldn't something like this be done to determine if a name already exists at a location?</div>
</blockquote><div><br></div><div>The way autocomplete works (if I'm not mistaken) is that it parses up the the point of completion and then halts in the semantic analysis and outputs what can come there.</div><div>The problem is that this information is lost once the AST is built.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 3, 2014 at 6:02 AM, Manuel Klimek <span dir="ltr"><<a href="mailto:klimek@google.com" target="_blank">klimek@google.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 class="gmail_extra"><div class="gmail_quote"><div>On Tue, Jul 1, 2014 at 9:11 PM, Daniel Dilts <span dir="ltr"><<a href="mailto:diltsman@gmail.com" target="_blank">diltsman@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div>I am possibly renaming a class.  I would like to make sure that the new name doesn't already exist.  Given that I am generating the new name, I have it in a std::string.</div>


<div><br></div><div>How would I check to see if there is already something with the new name in the DeclContext?  I assume I would use DeclContext::lockup of some flavor.  Also, the new name does not specify any namespaces (no :: anywhere in it).</div>


</div></blockquote><div><br></div></div><div>Unfortunately that's basically impossible in C++ (argument dependent lookup etc). But the easy cases should be handled by doing DeclContext::lookup throught all parent contexts.</div>


<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr">
</div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>