<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="https://git.reviewboard.kde.org/r/117535/">https://git.reviewboard.kde.org/r/117535/</a>
     </td>
    </tr>
   </table>
   <br />




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

<div>Review request for KDevelop.</div>
<div>By Denis Steckelmacher.</div>










<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdev-qmljs
</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;">This patch introduces the mergeTypes() function, based on the same function in kdev-python. Its behavior differs from the Python one in several aspects, though:

* Mixed types absorb other types (the function never returns "unsure(mixed, int)", but simply "mixed"). I'm not sure that it is the right thing to do, but I think that the "mixed" type is generally used to represent an unknown type. The user therefore gains no information by knowing that a function returns "anything, and this anything can sometimes be an int".
* The function makes more assumptions than the Python one. For instance, I know that the second type passed to it is never NULL, and that the function will be used to add a return type to a function or to add a type of a variable.

This function is used to merge the type of all the return statements of a function. This way, the user can know when a function may return values of different types. A future patch will also use this function to deduce the type of variables using assignments to them. </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;">4 tests have been added. They test the basic features of mergeTypes and some corner cases (how voids should be handled, different return statements having the same type and how mixed should take precedence over other types).</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>duchain/declarationbuilder.cpp <span style="color: grey">(fe131ce)</span></li>

 <li>duchain/helper.h <span style="color: grey">(23a6d0e)</span></li>

 <li>duchain/helper.cpp <span style="color: grey">(3ffdd56)</span></li>

 <li>tests/files/helloworld.js <span style="color: grey">(1ce3815)</span></li>

</ul>

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







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




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