Introspect/Class.js
[gnome.introspection-doc-generator] / Introspect / Class.js
index dba5f90..515e7fe 100644 (file)
@@ -25,6 +25,7 @@ Base = imports.Base.Base;
 Class = XObject.define(
     function(ns, name) {
         Base.call(this, ns, name);
+        print("Class ctr - parent called");
         this.loadExtends();
         this.loadImplements();
         //console.log("CREATED(Class) " + this.alias);
@@ -39,13 +40,13 @@ Class = XObject.define(
             
             var pi = GI.object_info_get_parent(bi);
             this.extendsClasses = [];
-            if (!pi) {
+            if (!pi || (pi.get_namespace() == this.ns && pi.get_name() == this.name )) {
                 return;
-            }
+            } 
             this.parent = NameSpace.factory(
                 'Class',
-                GI.base_info_get_namespace(pi),
-                GI.base_info_get_name(pi)
+                pi.get_namespace(),
+                pi.get_name()
             );
             
             this.extendsClasses = [ this.parent ];
@@ -71,7 +72,7 @@ Class = XObject.define(
                 
                 var iface = NameSpace.factory(
                     'Interface', 
-                    GI.base_info_get_namespace(prop) , GI.base_info_get_name(prop)
+                    prop.get_namespace() , prop.get_name()
                 );