| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- from dataclasses import dataclass
- @dataclass
- class StructField:
- type: str
- name: str
- desc: str = None
- @dataclass
- class EnumValue:
- name: str
- value: int | None
- desc: str = None
- @dataclass
- class Struct:
- name: str
- desc: str = None
- fields: list[StructField] = None
- @dataclass
- class Alias:
- type: str
- name: str
- desc: str = None
- @dataclass
- class Enum:
- name: str
- values: list[EnumValue]
- desc: str = None
- @dataclass
- class FunctionParam:
- type: str
- name: str
- @dataclass
- class Function:
- name: str
- params: list[FunctionParam]
- ret_type: str
- desc: str = None
- def signature(self) -> str:
- return f'{self.ret_type} {self.name}({", ".join([f"{param.type} {param.name}" for param in self.params])})'
|