Merge branch 'kdoc-item2' into docs-mw
authorJonathan Corbet <corbet@lwn.net>
Tue, 15 Jul 2025 19:46:42 +0000 (13:46 -0600)
committerJonathan Corbet <corbet@lwn.net>
Tue, 15 Jul 2025 19:46:42 +0000 (13:46 -0600)
commitf587722aa5c9e620fd8692054f0159da60052697
treec2ab8e594683c4576ada7336452941bf9c9e304f
parent2abdc8818c2aad2764c1b014283c126ef43b2364
parent40020fe8e3a4038ed6fb4b3115ad4c60fd354ab3
Merge branch 'kdoc-item2' into docs-mw

The kerneldoc parsing phase gathers all of the information about the
declarations of interest, then passes it through to the output phase as a
dict that is an unstructured blob of information; this organization has its
origins in the Perl version of the program.  It results in an interface
that is difficult to reason about, dozen-parameter function calls, and
other ills.

Introduce a new class (KdocItem) to carry this information between the
parser and the output modules, and, step by step, modify the system to use
this class in a more structured way.  This could be taken further by
creating a subclass of KdocItem for each declaration type (function,
struct, ...), but that is probably more structure than we need.

The result is (I hope) clearer code, the removal of a bunch of boilerplate,
and no changes to the generated output.