<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/124601/">https://git.reviewboard.kde.org/r/124601/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On August 3rd, 2015, 1:21 p.m. MSK, <b>Olivier Jean de Gaalon</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I don't mean to be a bother, but I don't see the point of this. Useful lookahead completion involves checking for possible type conversions and operator->, which can only be usefully done inside of clang (we don't want to do that logic based on the duchain).
IMO this feature should be dropped unless someone can get it into clang, otherwise it's not useful enough to justify adding it (especially not on-by-default).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If anyone else feels differently, then ship it, of course... but I'd even like it off by default to avoid the performance hit.</p></pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Yes, that would be the ideal solution.
Otoh if at least more types were exposed through LibClang and Clang provided types for matching, the current approach would be much more useful...</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Btw, the performance penalty is not that severe (about 30ms for me.)</p></pre>
<br />










<p>- Sergey</p>


<br />
<p>On August 3rd, 2015, 1:02 p.m. MSK, Sergey Kalinichev wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Sergey Kalinichev.</div>


<p style="color: grey;"><i>Updated Aug. 3, 2015, 1:02 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdev-clang
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Known shortcomings:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1)Auto type (and many other types) is not exposed through LibClang. So we assign DelayedType to it instead of IdentifiedType, therefore no declaration attached to the type, hence no look-ahead completion.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">2)LibClang missing API to determine expected code completion type. To workaround it, now we use types of declarations from the best mathes group. Therefore if no declarations found with a high enough priority, no items will be added to the look-ahead completion group.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As a result the look-ahead completion works only in the simpliest cases.</p></pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>clangsettings/clangsettingsmanager.h <span style="color: grey">(0d6eec1)</span></li>

 <li>clangsettings/clangsettingsmanager.cpp <span style="color: grey">(db125f3)</span></li>

 <li>clangsettings/sessionsettings/sessionconfig.kcfg <span style="color: grey">(63fb6c5)</span></li>

 <li>clangsettings/sessionsettings/sessionsettings.ui <span style="color: grey">(74a157f)</span></li>

 <li>codecompletion/context.cpp <span style="color: grey">(1d52021)</span></li>

 <li>tests/test_codecompletion.cpp <span style="color: grey">(fca922d)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/124601/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>