mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

Callers to output_declaration() always pass the parameter information from self.entry; remove all of the boilerplate arguments and just get at that information directly. Formalize its placement in the KdocItem class. It would be nice to get rid of parameterlist as well, but that has the effect of reordering the output of function parameters and struct fields to match the order in the kerneldoc comment rather than in the declaration. One could argue about which is more correct, but the ordering has been left unchanged for now. Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# A class that will, eventually, encapsulate all of the parsed data that we
|
|
# then pass into the output modules.
|
|
#
|
|
|
|
class KdocItem:
|
|
def __init__(self, name, type, start_line, **other_stuff):
|
|
self.name = name
|
|
self.type = type
|
|
self.declaration_start_line = start_line
|
|
self.sections = {}
|
|
self.sections_start_lines = {}
|
|
self.parameterlist = []
|
|
self.parameterdesc_start_lines = []
|
|
self.parameterdescs = {}
|
|
self.parametertypes = {}
|
|
#
|
|
# Just save everything else into our own dict so that the output
|
|
# side can grab it directly as before. As we move things into more
|
|
# structured data, this will, hopefully, fade away.
|
|
#
|
|
self.other_stuff = other_stuff
|
|
|
|
def get(self, key, default = None):
|
|
ret = self.other_stuff.get(key, default)
|
|
if ret == default:
|
|
return self.__dict__.get(key, default)
|
|
return ret
|
|
|
|
def __getitem__(self, key):
|
|
return self.get(key)
|
|
|
|
#
|
|
# Tracking of section and parameter information.
|
|
#
|
|
def set_sections(self, sections, start_lines):
|
|
self.sections = sections
|
|
self.section_start_lines = start_lines
|
|
|
|
def set_params(self, names, descs, types, starts):
|
|
self.parameterlist = names
|
|
self.parameterdescs = descs
|
|
self.parametertypes = types
|
|
self.parameterdesc_start_lines = starts
|