feat(gen_json): adds option to gen_json to build without docstrings (#7471)

This commit is contained in:
Kevin Schlosser
2024-12-20 05:31:53 -07:00
committed by GitHub
parent 251c1b02f3
commit 3146313e44
2 changed files with 44 additions and 69 deletions

View File

@@ -16,13 +16,9 @@ except ImportError:
from pycparser.c_generator import CGenerator
from collections import OrderedDict
import doc_builder # NOQA
generator = CGenerator()
doc_builder.EMIT_WARNINGS = False
# doc_builder.DOXYGEN_OUTPUT = False
BASIC_TYPES = [
'float',
@@ -575,7 +571,7 @@ class FileAST(c_ast.FileAST):
super().__init__(*args, **kwargs)
self._parent = None
def setup_docs(self, temp_directory): # NOQA
def setup_docs(self, no_docstrings, temp_directory): # NOQA
global get_enum_item_docs
global get_enum_docs
global get_func_docs
@@ -586,17 +582,41 @@ class FileAST(c_ast.FileAST):
global get_macro_docs
global get_macros
docs = doc_builder.XMLSearch(temp_directory)
if no_docstrings:
get_enum_item_docs = docs.get_enum_item
get_enum_docs = docs.get_enum
get_func_docs = docs.get_function
get_var_docs = docs.get_variable
get_union_docs = docs.get_union
get_struct_docs = docs.get_structure
get_typedef_docs = docs.get_typedef
get_macro_docs = docs.get_macro
get_macros = docs.get_macros
def dummy_list():
return []
def dummy_doc(_):
return None
get_enum_item_docs = dummy_doc
get_enum_docs = dummy_doc
get_func_docs = dummy_doc
get_var_docs = dummy_doc
get_union_docs = dummy_doc
get_struct_docs = dummy_doc
get_typedef_docs = dummy_doc
get_macro_docs = dummy_doc
get_macros = dummy_list
else:
import doc_builder # NOQA
doc_builder.EMIT_WARNINGS = False
# doc_builder.DOXYGEN_OUTPUT = False
docs = doc_builder.XMLSearch(temp_directory)
get_enum_item_docs = docs.get_enum_item
get_enum_docs = docs.get_enum
get_func_docs = docs.get_function
get_var_docs = docs.get_variable
get_union_docs = docs.get_union
get_struct_docs = docs.get_structure
get_typedef_docs = docs.get_typedef
get_macro_docs = docs.get_macro
get_macros = docs.get_macros
@property
def name(self):