Automate review using PHPStan: adopt shipmonk-rnd/dead-code-detector
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3589128. --> Reported by: [wim leers](https://www.drupal.org/user/99777) Related to !1081 >>> <h3 id="overview">Overview</h3> <p><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3589083" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3589083</a></span> is deleting dead code. Cool!</p> <p>But why do this manually if it can be automated?</p> <h3 id="proposed-resolution">Proposed resolution</h3> <p>Adopt shipmonk-rnd/dead-code-detector and implement usage providers as necessary.</p> <p>Overview:</p> <ul> <li>Initial adoption, zero config: <a href="https://git.drupalcode.org/project/canvas/-/jobs/9725078#L3780">467</a> problems reported. <strong>But these include many false positives! &#9888;&#65039;</strong> So we need to provide usage providers (which are AI-generated) to avoid these false positives</li> <li>Custom usage provider for test properties like <code>$modules</code>: <a href="https://git.drupalcode.org/project/canvas/-/jobs/9725284#L2718">299</a></li> <li>Custom usage provider for Drupal hooks: <a href="https://git.drupalcode.org/project/canvas/-/jobs/9725638#L2188">226</a></li> <li>Refine the usage provider for test properties to look at more: <a href="https://git.drupalcode.org/project/canvas/-/jobs/9725713#L2040">206</a></li> <li>Custom usage provider for Canvas-specific test properties: <a href="https://git.drupalcode.org/project/canvas/-/jobs/9725775">204</a></li> <li>Custom usage provider for test methods like <code>::setDatabaseDumpFiles</code>: <a href="https://git.drupalcode.org/project/canvas/-/jobs/9725979#L1849">182</a></li> <li>Custom usage provider for polymorphic overrides: <a href="https://git.drupalcode.org/project/canvas/-/jobs/9726218#L1848">180</a></li> <li>Custom usage provider for routing (controllers + access checks): <a href="https://git.drupalcode.org/project/canvas/-/jobs/9726881">128</a></li> <li>&hellip; and more</li> </ul> <p> &rArr; eventually, no more false positives. So then manually reviewed and fixed them (<code>+9,-226</code> &#129702; <strong>200 dead lines deleted!</strong>):</p> <ol> <li><a href="https://git.drupalcode.org/project/canvas/-/merge_requests/1081/diffs?commit_id=b128c72201c5e72389170d9f5346d7a4d7554544">https://git.drupalcode.org/project/canvas/-/merge_requests/1081/diffs?commit_id=b128c72201c5e72389170d9f5346d7a4d7554544</a> </li><li><a href="https://git.drupalcode.org/project/canvas/-/merge_requests/1081/diffs?commit_id=9e59b93d240004b4c107bbe51c12eac8cc041d7a">https://git.drupalcode.org/project/canvas/-/merge_requests/1081/diffs?commit_id=9e59b93d240004b4c107bbe51c12eac8cc041d7a</a> </li></ol> <h3 id="ui-changes">User interface changes</h3> <p>None.</p>
issue