| 85 | |
| 86 | @dataclass |
| 87 | class CStruct: |
| 88 | name: str |
| 89 | fields: List[CStructField] = field(default_factory=list) |
| 90 | doc: str = "" |
| 91 | file: str = "" |
| 92 | line: int = 0 |
| 93 | |
| 94 | def to_dict(self) -> Dict[str, Any]: |
| 95 | return { |
| 96 | "name": self.name, |
| 97 | "fields": [ |
| 98 | { |
| 99 | "name": f.name, |
| 100 | "c_type": f.c_type, |
| 101 | "array_dim": f.array_dim, |
| 102 | "is_pointer": f.is_pointer, |
| 103 | "doc": f.doc, |
| 104 | } |
| 105 | for f in self.fields |
| 106 | ], |
| 107 | "doc": self.doc, |
| 108 | "file": self.file, |
| 109 | "line": self.line, |
| 110 | } |
| 111 | |
| 112 | |
| 113 | @dataclass |