def named_pointer_decl(tp): if isinstance(tp.typ, typedesc.FunctionType): args = [generic_decl(arg) for arg in tp.typ.iterArgTypes()] return generic_decl( tp.typ.returns) + '(*%s)' + '(%s)' % ", ".join(args) else: return generic_decl(tp.typ) + ' * %s'
def cy_generate_structure(tp, union=False): if union: output = ['cdef union %s:' % tp.name] else: output = ['cdef struct %s:' % tp.name] for m in tp.members: if isinstance(m, typedesc.Field): output.append("\t" + (generic_named_decl(m.typ) % m.name)) elif isinstance(m, typedesc.Structure): output.append("\t%s" % generic_decl(m)) else: print "Struct member not handled:", m if not tp.members: output.append("\tpass") return output
def cy_generate_structure(tp, union=False): if union: output = ['cdef union %s:' % tp.name] else: output = ['cdef struct %s:' % tp.name] for m in tp.members: if isinstance(m, typedesc.Field): output.append("\t" + (generic_named_decl(m.typ) % m.name)) elif isinstance(m, typedesc.Structure): output.append("\t%s" % generic_decl(m)) elif isinstance(m, typedesc.Ignored): pass else: print "Struct member not handled:", m if not tp.members: output.append("\tpass") return output
def named_pointer_decl(tp): if isinstance(tp.typ, typedesc.FunctionType): args = [generic_decl(arg) for arg in tp.typ.iterArgTypes()] return generic_decl(tp.typ.returns) + '(*%s)' + '(%s)' % ", ".join(args) else: return generic_decl(tp.typ) + ' * %s'