<table><tr><td style="">mwolff added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D18224">View Revision</a></tr></table><br /><div><div><p>without digging into the patch myself (I'll have to see whether I can find time for this), could we solve more of the open TODOs by reporting problems for *all tail* child diagnostics that point at the current file? And then reference the "parent" from them somehow? I.e. I believe currently, we have something like this (bare with me, it was quite some time since I worked on this):</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">error in X<ul class="remarkup-list">
<li class="remarkup-list-item">child in Y</li>
<li class="remarkup-list-item">child in Z</li>
</ul></li>
</ul>

<p>Previous to this patch, we only report the "error in X" and show the children beneath. This change will also make it such that we also show the "error in X" problem for the "child in Z" location. Maybe we could just do that for *all* tail child diagnostics, i.e. <tt style="background: #ebebeb; font-size: 13px;">j == numChildDiagnostics - 1</tt>?</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D18224#inline-101877">View Inline</a><span style="color: #4b4d51; font-weight: bold;">clangproblem.cpp:99</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="n">ClangProblem</span><span style="color: #aa2211">::</span><span class="n">ClangProblem</span><span class="p">()</span> <span class="p">{}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;"><tt style="background: #ebebeb; font-size: 13px;">= default;</tt></p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D18224#inline-101880">View Inline</a><span style="color: #4b4d51; font-weight: bold;">parsesession.cpp:251</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">problem</span><span style="color: #aa2211">-></span><span class="n">setFinalLocation</span><span class="p">(</span><span class="n">subproblem</span><span style="color: #aa2211">-></span><span class="n">finalLocation</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">problem</span><span style="color: #aa2211">-></span><span class="n">setDescription</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Requested here: "</span><span class="p">)</span> <span style="color: #aa2211">+</span> <span class="n">problem</span><span style="color: #aa2211">-></span><span class="n">description</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">foundRequestedHere</span> <span style="color: #aa2211">=</span> <span style="color: #304a96">true</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">can't we use the original description of the child diagnostic?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D18224#inline-101881">View Inline</a><span style="color: #4b4d51; font-weight: bold;">test_duchain.cpp:2003</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">QEXPECT_FAIL</span><span class="p">(</span><span style="color: #766510">""</span><span class="p">,</span> <span style="color: #766510">"Currently no problem is reported for the function call if it is in the same file as the function"</span><span class="p">,</span> <span class="n">Continue</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">QCOMPARE</span><span class="p">(</span><span class="n">top</span><span style="color: #aa2211">-></span><span class="n">problems</span><span class="p">().</span><span class="n">count</span><span class="p">(),</span> <span style="color: #601200">2</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">why is that? i.e. can you elaborate on this - do you know already what would be required to fix this too?</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D18224">https://phabricator.kde.org/D18224</a></div></div><br /><div><strong>To: </strong>thomassc, KDevelop, mwolff<br /><strong>Cc: </strong>pino, mwolff, kdevelop-devel, glebaccon, hase, antismap, iodelay, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd<br /></div>