class Binding(CSource, CBinding, PythonBinding):
"Combine all binding attributes in a single, flat namespace."
- pass
+ def visibility_string(self):
+ "Summarize binding visibility in a single string"
+ if self.extern:
+ extern_string = ' (extern)'
+ else:
+ extern_string = ''
+ return 'C: %s%s, Python: %s' % (
+ self.c_visibility, extern_string, self.visibility)
+
if ctx.api:
error(pos, "Only 'public' C class can be declared 'api'")
else:
- error(pos, "Invalid class visibility '%s'" % visibility)
+ error(pos, "Invalid class visibility '%s'" % ctx.visibility_string())
return Nodes.CClassDefNode(pos,
extern = ctx.extern,
c_visibility = ctx.c_visibility,