JSDOC/Symbol.js
[gnome.introspection-doc-generator] / JSDOC / Symbol.js
index b3d16d2..fabcea9 100644 (file)
@@ -26,10 +26,10 @@ Symbol = XObject.define(
         $args : [], // original arguments used when constructing.
         addOn : "",
         alias : "",
-        augments : [],
+        augments : false, // Doctag
         author : "",
         classDesc : "",
-        comment : { isUserComment: false },
+        comment : {},
         deprecated : "",
         desc : "",
         events : [],
@@ -72,17 +72,36 @@ Symbol = XObject.define(
                 var r = [];
                 a.forEach(function(e) {
                     r.push(m ? e : e.toObject());
-                }
+                })
             }
+            
             var ret = { };
             for (var i in this) {
+                if (Symbol.hide.indexOf(i) > -1) {
+                    continue;
+                }
                 switch (typeof(this[i])) {
                     case 'function':
                         continue;
                     case 'object':
-                    
-                        print("object? :" + i);
-                        Seed.quit();
+                        switch(i) {
+                            //arrays..
+                            case 'params' : 
+                                ret[i] = array2object(this[i],true); 
+                                continue;
+                                
+                            //objects..
+                            case 'augments' : 
+                                print(JSON.stringify(this[i]));
+                                ret[i] = this[i].toObject();
+                                continue;
+                                
+                            default:
+                                print("object? :" + i);
+                                Seed.quit();
+                        }
+                        
+                        
                     case 'string':
                     case 'number':
                         ret[i] = this[i]; continue;
@@ -97,46 +116,28 @@ Symbol = XObject.define(
         
         init : function() 
         {
-            this.name = "";
-            this.defaultValue = "";
+            // only initialize arrays / objects..
             this.params = [];
             this.$args = [];
-            this.addOn = "";
-            this.alias = "";
-            this.augments = [];
-            this.author = "";
-            this.classDesc = "";
-            this.comment = { isUserComment: false };
-            //this.defaultValue = null;
-            this.deprecated = "";
-            this.desc = "";
+            
             this.events = [];
-            this.example = "";
             this.exceptions = [];
             this.inherits = [];
             this.inheritsFrom = [];
             this.isa = "OBJECT"; // OBJECT//FUNCTION
-            this.isEvent = false;
-            this.isConstant = false;
-            this.isIgnored = false;
-            this.isInner = false;
-            this.isNamespace = false;
-            this.isPrivate = false;
-            this.isStatic = false;
-            this.memberOf = "";
             this.methods = [];
-            this._name = "";
             this._params = [];
             this.properties = [];
             this.requires = [];
             this.returns = [];
             this.see = [];
-            this.since = "";
             this.srcFile = {};
-            this.type = "";
-            this.version = "";
             this.childClasses = [];
             this.cfgs = {};
+            
+            this.comment = new DocComment();
+            this.comment.isUserComment =  false;
+            
                
         },
 
@@ -791,9 +792,13 @@ Symbol = XObject.define(
         }
 });
 
-
-
-
+/**
+ * Elements that are not serialized
+ * 
+ */
+Symbol.hide = [ 
+    '$args' // not needed AFAIK
+]
 
 Symbol.srcFile = ""; //running reference to the current file being parsed