<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/118225/">https://git.reviewboard.kde.org/r/118225/</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>


<p style="color: grey;"><i>Updated May 20, 2014, 4:57 p.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Move the declaration of the exported alias in a separate method, and shorten the patch by avoiding renaming variables when it is not needed.</pre>
  </td>
 </tr>
</table>







<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;">In plugin.qmltypes files, QML components have "C++-ish" names, like "QQmlRectangle". The real QML name can be found in the "exports" property of select components. An export is a string like "QtQuick/Rectangle 1.0". Each component therefore has a namespace, a name and a version.

This patch adds support for exported component names. The namespace and the version are currently ignored, by they may be used in the future in order to tell the user that a component requires an import statement with a greater version number than provided.

Regarding the code quality, I'm not quite happy with the nested if and for loops that I had to add, but the QMLJS parser is again unable to provide a nice "ArrayEntry" node that would have made everything simpler. I'm obliged to iterate over a ElementList node and to cast its expression to a string literal.</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;">A test suite has been added. It ensures that a component like this:

Component {
    name: "QAbstractItemModel"
    prototype: "QObject"
    exports: ["QtQuick/AbstractItemModel 1.0"]
}

Is displayed in the outline as "QAbstractItemModel" and "AsbtractItemModel".</pre>
  </td>
 </tr>
</table>


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

 <li>tests/files/plugins.qml <span style="color: grey">(7544a8f)</span></li>

 <li>duchain/declarationbuilder.cpp <span style="color: grey">(01ebb15)</span></li>

 <li>duchain/declarationbuilder.h <span style="color: grey">(aad8e2b)</span></li>

</ul>

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







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




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