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

The section list always comes directly from the under-construction entry and is used uniformly. Formalize section handling in the KdocItem class, and have output_declaration() load the sections directly from the entry, eliminating a lot of duplicated, verbose parameters. Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
36 lines
1.1 KiB
Python
36 lines
1.1 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 = {}
|
|
#
|
|
# 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 information.
|
|
#
|
|
def set_sections(self, sections, start_lines):
|
|
self.sections = sections
|
|
self.section_start_lines = start_lines
|