| # 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): |
| return self.other_stuff.get(key, default) |
| |
| 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 |