return;
}
+ if (!is_visibility (ns)) {
+ return;
+ }
+
if (ns.name == null) {
// global namespace
hierarchy.insert (0, ns);
}
private void write_symbol_attributes (Symbol symbol) {
+ if (!is_introspectable (symbol)) {
+ buffer.append_printf (" introspectable=\"0\"");
+ }
if (symbol.version.deprecated) {
buffer.append_printf (" deprecated=\"1\"");
if (symbol.version.deprecated_since != null) {
buffer.append_printf ("<enumeration name=\"%s\"", edomain.name);
write_ctype_attributes (edomain);
buffer.append_printf (" glib:error-domain=\"%s\"", get_ccode_quark_name (edomain));
+ write_symbol_attributes (edomain);
buffer.append_printf (">\n");
indent++;
return true;
}
- bool is_introspectable (Method m) {
+ bool is_method_introspectable (Method m) {
if (!is_type_introspectable (m.return_type)) {
return false;
}
return true;
}
+ bool is_introspectable (Symbol sym) {
+ if (sym is Method && !is_method_introspectable ((Method) sym)) {
+ return false;
+ }
+
+ return is_visibility (sym);
+ }
+
private void write_signature (Method m, string tag_name, bool write_doc, bool instance = false) {
var parent = this.hierarchy.get (0);
string name;
buffer.append_printf (" throws=\"1\"");
}
write_symbol_attributes (m);
- if (!is_introspectable (m)) {
- buffer.append_printf (" introspectable=\"0\"");
- }
buffer.append_printf (">\n");
indent++;
if (m.tree_can_fail) {
buffer.append_printf (" throws=\"1\"");
}
- if (!is_introspectable (m)) {
- buffer.append_printf (" introspectable=\"0\"");
- }
+ write_symbol_attributes (m);
buffer.append_printf (">\n");
indent++;
return false;
}
+
+ private bool is_visibility (Symbol sym) {
+ return sym.get_attribute_bool ("GIR", "visible", true);
+ }
}
"DBus", "name", "no_reply", "result", "use_string_marshalling", "value", "signature", "visible", "timeout", "",
- "GIR", "fullname", "name", ""
+ "GIR", "fullname", "name", "visible", ""
};