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





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Just to wake up a bit the discussion, I've been trying to play with the m_astToType by disabling it and by changing from QMap and QHash.

There's not really an impact regarding memory consumption or execution time between the 3 implementations.

I'd really like to put some stuff from here in practice, so can anybody at least back me up a bit on this?</pre>
 <br />







<p>- Aleix</p>


<br />
<p>On May 9th, 2012, 12:50 a.m., Aleix Pol Gonzalez wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop, Milian Wolff and David Nolden.</div>
<div>By Aleix Pol Gonzalez.</div>


<p style="color: grey;"><i>Updated May 9, 2012, 12:50 a.m.</i></p>






<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;">This is the second big merge from my thesis. If we get this all the extra plugins will be usable already.

It basically provides the needed information to perform some checks: builds the control flow graph and the data access when requested (this information isn't created if it's not requested, by design, see kdevplatform review request).

The only place that might be not optimal is the creation of the m_AstToType map. This has to be discussed probably I'm unsure if it would be fine to just use the DUChain for this to extract the type from a cursor. I think the rest should be fine.

For more information, see: https://git.reviewboard.kde.org/r/103071/</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;">There are quite some unit tests made, maybe not enough but that can be fixed :).

Also it can be used together with the kdevchecksrunner and kdevanalitzachecks to run some checks. Many projects have been run on top of those successfully (without crashes and with meaningful warnings). KDevelop for example.</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>languages/cpp/cppduchain/CMakeLists.txt <span style="color: grey">(5f27b8f)</span></li>

 <li>languages/cpp/cppduchain/controlflowgraphbuilder.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/cpp/cppduchain/controlflowgraphbuilder.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/cpp/cppduchain/expressionvisitor.cpp <span style="color: grey">(0ef76a6)</span></li>

 <li>languages/cpp/cppduchain/tests/CMakeLists.txt <span style="color: grey">(0bcd5e0)</span></li>

 <li>languages/cpp/cppduchain/tests/codeanalysistest.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/cpp/cppduchain/tests/codeanalysistest.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/cpp/cppduchain/tests/testhelper.h <span style="color: grey">(61a3de2)</span></li>

 <li>languages/cpp/cppduchain/tests/testhelper.cpp <span style="color: grey">(49e68a9)</span></li>

 <li>languages/cpp/cppduchain/usebuilder.cpp <span style="color: grey">(f3f5926)</span></li>

 <li>languages/cpp/cppduchain/usedecoratorvisitor.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/cpp/cppduchain/usedecoratorvisitor.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/cpp/cppparsejob.h <span style="color: grey">(debb1b0)</span></li>

 <li>languages/cpp/cppparsejob.cpp <span style="color: grey">(1e0a51b)</span></li>

 <li>languages/cpp/parser/parsesession.h <span style="color: grey">(1f69da7)</span></li>

 <li>languages/cpp/parser/parsesession.cpp <span style="color: grey">(e1fcef5)</span></li>

</ul>

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




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








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