}
foreach(var p in cls.get_methods()) {
+ // skip static methods..
+ if (p.binding != Vala.MemberBinding.INSTANCE) {
+ continue;
+ }
+
this.add_method(c, p);
}
c.implements.add(p.data_type.get_full_name());
}
}
+
+
}
c.ns = parent.ns;
if (sig.return_type.data_type != null) {
- print("creating return type on signal %s\n", sig.name);
+ //print("creating return type on signal %s\n", sig.name);
var cc = new GirObject("Return", "return-value");
cc.gparent = c;
cc.ns = c.ns;
c.paramset = cc;
- foreach(var p in sig.get_parameters()) {
+ foreach(var p in params) {
this.add_param(cc, p);
}
public void add_method(GirObject parent, Vala.Method met)
{
- if (met.name == null) { // ?? why?
- return;
- }
- var c = new GirObject("Method",met.name);
+
+ var c = new GirObject("Method",met.name == null ? parent.name : "");
c.gparent = parent;
c.ns = parent.ns;
if (met.return_type.data_type != null) {
- print("creating return type on signal %s\n", met.name);
+ //print("creating return type on method %s\n", met.name);
var cc = new GirObject("Return", "return-value");
cc.gparent = c;
cc.ns = c.ns;
cc.type = met.return_type.data_type.get_full_name();
c.return_value = cc;
}
- parent.methods.set(met.name,c);
+ if (met is Vala.CreationMethod) {
+
+ } else {
+
+ parent.methods.set(met.name,c);
+ }
var params = met.get_parameters() ;
if (params.size < 1) {
c.paramset = cc;
- foreach(var p in met.get_parameters()) {
+ foreach(var p in params) {
+ if (p.name == null) {
+ continue;
+ }
this.add_param(cc, p);
}