Rewrite attribute storage to be more canonical and link what we can
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3461882. -->
Reported by: [joegl](https://www.drupal.org/user/3005993)
Related to !61
>>>
<p>API page: <a href="https://api.drupal.org/api/drupal/elements/10">https://api.drupal.org/api/drupal/elements/10</a></p>
<p>The form element documentation for 10.3.x does not include any form elements except the component element.</p>
<p>Note the MR suffers from severe scope creep: solving this issue required rewriting attribute storage to be more in line with how annotations are stored otherwise the api_listing view could not pick these up. Once that was done, sneaking in one more reference was not a big deal so now the number of implementations and the list of implementations on <code>function hook_foo</code> now includes OOP hooks. It does not yet link from <code>#[Hook('foo')]</code> to <code>hook_foo</code>, that's a different issue (and one that is not quite trivial because <code>#[Hook('form_form_test_alter_form_alter')]</code> needs to link to <code>form_FORM_ID_alter</code> which will be a lot of fun.)</p>
<p>Note #2 the YAML export of the View created a lot of noise, suppressing whitespace in gitlab UI <a href="https://i.imgur.com/eBvQPz2.png">https://i.imgur.com/eBvQPz2.png</a> or reviewing with <code>git -w</code> is strongly advised.</p>
> Related issue: [Issue #3449634](https://www.drupal.org/node/3449634)
issue