[tools] Allow struct types in definitions

Allow struct type names in definitions, which result in struct buffer
pointers in generated code.
This commit is contained in:
Justin C. Miller
2022-10-06 23:15:20 -07:00
parent 6b20f1fb19
commit d04b2ae315
7 changed files with 42 additions and 3 deletions

View File

@@ -24,3 +24,4 @@ from .function import Function, Method, Param
from .type import Type
from .primitive import get_primitive
from .objref import ObjectRef
from .struct import Struct

View File

@@ -0,0 +1,17 @@
from .type import Type
class Struct(Type):
def __repr__(self):
return f'Struct({self.name})'
def c_names(self, options):
one = f"struct j6_{self.name} *"
two = "size_t"
out = bool({"out", "inout"}.intersection(options))
if out:
two += " *"
return ((one, ""), (two, "_size"))
def cxx_names(self, options):
return self.c_names(options)