+ //print(JSON.stringify(p));Seed.exit();
+ var addable_type = p.type;
+ if (addable_type.indexOf('.') < 0) {
+ addable_type = p.memberOf + '.' + p.type;
+ }
+
+
+
+ // in theory you can not add a window to anything.. ???
+ //if ('Gtk.Window' == addable_type || methods[addable_type].extendsClasses.indexOf('Gtk.Window') > -1) {
+ // return;
+ //}
+ //
+
+ //print(full_method_name );
+
+ //if (allmethods.indexOf(full_method_name) < 0) {
+ // allmethods.push(full_method_name);
+ //}
+
+ methods[cls].can_contain.pushUnique(addable_type);
+
+ //methods[cls].using_methods[m.name] = m.params;
+
+ //if (methods[addable_type].can_be_added_to.indexOf(cls) < 0) {
+ // methods[addable_type].can_be_added_to.push(cls);
+ //}
+
+
+ var add = m.memberOf +':'+ m.name;
+
+ if (typeof(methods[addable_type].can_be_added_to_as[cls]) == 'undefined') {
+ methods[addable_type].can_be_added_to_as[cls]=[];
+ }
+ methods[addable_type].can_be_added_to_as[cls].pushUnique( add );
+ implementations[cls].forEach(function(imp) {
+
+
+ if (typeof(methods[addable_type ].can_be_added_to_as[imp]) == 'undefined') {
+ methods[addable_type].can_be_added_to_as[imp] = [];
+ }
+
+ methods[addable_type].can_be_added_to_as[imp].pushUnique(add);
+
+
+ });
+ // also needs to add
+ //print(addable_type);
+ //print(JSON.stringify(implementations[addable_type], null,4));
+
+
+ implementations[addable_type].forEach(function(addable_child) {
+
+ //if (addable_child == 'Gtk.AboutDialog') {
+ // print(JSON.stringify(methods[addable_child].extendsClasses,null,4));Seed.exit();
+
+ //}
+
+ if (addable_child == 'Gtk.Window' ||
+ methods[addable_child].extendsClasses.indexOf('Gtk.Window') > -1) {
+ return;
+ }
+
+ if (typeof(methods[addable_child].can_be_added_to_as[cls]) == 'undefined') {
+ methods[addable_child].can_be_added_to_as[cls]=[];
+ }
+ methods[addable_child].can_be_added_to_as[cls].pushUnique( add );
+ implementations[cls].forEach(function(imp) {
+ if (typeof(methods[addable_child ].can_be_added_to_as[imp]) == 'undefined') {
+ methods[addable_child].can_be_added_to_as[imp] = [];
+ }
+
+ methods[addable_child].can_be_added_to_as[imp].pushUnique(add);
+
+
+ });
+
+
+
+ });
+
+
+
+
+
+