From a03b2888860e184c86f26cef7e1becd9d70fa3bd Mon Sep 17 00:00:00 2001 From: Sebastien Binet Date: Wed, 5 Aug 2015 10:32:38 +0200 Subject: [PATCH] bind: expose all public types to python module Change-Id: I948838b37f0d5f909ae58797930ffe598dc539ca --- bind/gencpy.go | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/bind/gencpy.go b/bind/gencpy.go index 25a6936..3cd5529 100644 --- a/bind/gencpy.go +++ b/bind/gencpy.go @@ -164,10 +164,14 @@ func (g *cpyGen) gen() error { g.impl.Indent() g.impl.Printf("PyObject *module = NULL;\n\n") - for _, s := range g.pkg.structs { + for _, n := range g.pkg.syms.names() { + sym := g.pkg.syms.sym(n) + if !sym.isType() { + continue + } g.impl.Printf( "if (PyType_Ready(&%sType) < 0) { return; }\n", - s.sym.cpyname, + sym.cpyname, ) } @@ -176,11 +180,15 @@ func (g *cpyGen) gen() error { g.pkg.doc.Doc, ) - for _, s := range g.pkg.structs { - g.impl.Printf("Py_INCREF(&%sType);\n", s.sym.cpyname) + for _, n := range g.pkg.syms.names() { + sym := g.pkg.syms.sym(n) + if !sym.isType() { + continue + } + g.impl.Printf("Py_INCREF(&%sType);\n", sym.cpyname) g.impl.Printf("PyModule_AddObject(module, %q, (PyObject*)&%sType);\n\n", - s.GoName(), - s.sym.cpyname, + sym.goname, + sym.cpyname, ) } g.impl.Outdent()