<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/117971/">https://git.reviewboard.kde.org/r/117971/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On May 3rd, 2014, 11:21 a.m. UTC, <b>Sven Brauch</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;">Nice! Add a unit test and then ship it.
You can do that for example like this:
int useIndex = top->findUseAt(Cursor(3, 5));
QVERIFY(useIndex != -1);
QVERIFY(useIndex < top->usesCount());
const Use* u = &(top->uses()[useIndex]);
Declaration* d = u->usedDeclaration(top->topContext());
// ...</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;">Ah, you use those json tests. Not sure how to do it there. I'll try talking to olijg.</pre>
<br />
<p>- Sven</p>
<br />
<p>On May 3rd, 2014, 9:47 a.m. UTC, Denis Steckelmacher wrote:</p>
<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 3, 2014, 9:47 a.m.</i></p>
<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;">The Javascript parser builds IdentifierExpression AST nodes in Javascript files and UiQualifiedId AST nodes in QML files. This patch adds support for the latter ones in UseBuilder. This enables the QML/JS plugin to detect the use of QML components in QML files.</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;">I don't know how to unit test the use builder, and I would welcome any hint about that :-) . I manually tested that the use of "Foo" in this snippet is correctly detected:
Component {
name: "Foo"
}
Foo {}
When I put my cursor on Foo, "Component" gets highlighted (because the declaration of Foo is located on the Component keyword). If I click on "show uses" in the information popup of "Component", the first line and the line instantiating Foo are listed.</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/usebuilder.h <span style="color: grey">(39605ac)</span></li>
<li>duchain/usebuilder.cpp <span style="color: grey">(3e5d0a1)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/117971/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>