Update code generation to create one file for dbl_list
This commit is contained in:
@@ -88,6 +88,15 @@ class CEnum:
|
||||
return header + values + footer
|
||||
|
||||
|
||||
@dataclass
|
||||
class CMacro:
|
||||
name: str
|
||||
value: str
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"#define {self.name} {self.value}\n"
|
||||
|
||||
|
||||
@dataclass
|
||||
class CStruct:
|
||||
name: str
|
||||
@@ -195,6 +204,7 @@ class CFile:
|
||||
name: str
|
||||
extension: str
|
||||
decl_types: list[CStruct] = field(default_factory=list)
|
||||
macros: list[CMacro] = field(default_factory=list)
|
||||
|
||||
def save(self, output_dir: Path):
|
||||
output_file = output_dir / f"{self.name}.{self.extension}"
|
||||
@@ -228,6 +238,12 @@ class CHeader(CFile):
|
||||
|
||||
includes = _get_includes_string(self.includes)
|
||||
|
||||
macros = ""
|
||||
for macro in self.macros:
|
||||
macros += str(macro)
|
||||
if len(macros) > 0:
|
||||
macros += "\n"
|
||||
|
||||
forward_declarations = ""
|
||||
for _type in self.decl_types:
|
||||
forward_declarations += _type.declare()
|
||||
@@ -247,6 +263,7 @@ class CHeader(CFile):
|
||||
header_guard_open +
|
||||
includes +
|
||||
c_linkage_open +
|
||||
macros +
|
||||
forward_declarations +
|
||||
types +
|
||||
funcs +
|
||||
@@ -266,6 +283,12 @@ class CSource(CFile):
|
||||
def __str__(self) -> str:
|
||||
includes = _get_includes_string(self.includes)
|
||||
|
||||
macros = ""
|
||||
for macro in self.macros:
|
||||
macros += str(macro)
|
||||
if len(macros) > 0:
|
||||
macros += "\n"
|
||||
|
||||
forward_declarations = ""
|
||||
for _type in self.decl_types:
|
||||
forward_declarations += _type.declare()
|
||||
@@ -292,6 +315,7 @@ class CSource(CFile):
|
||||
return (
|
||||
super().__str__() +
|
||||
includes +
|
||||
macros +
|
||||
forward_declarations +
|
||||
types +
|
||||
internal_funcs_decl +
|
||||
|
Reference in New Issue
Block a user