X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FSymbol.js;h=7385547cb342ccdf68c7a7246ca3c4d878bb2a90;hp=f5e97c61355fa5aa697eb5fe43f87de4f8f20096;hb=4874ad3e1d08502e88986231f3de271795ca2302;hpb=60c924cc00df2e0e5e32985be3fa2b0b4b6b512f diff --git a/JSDOC/Symbol.js b/JSDOC/Symbol.js index f5e97c6..7385547 100644 --- a/JSDOC/Symbol.js +++ b/JSDOC/Symbol.js @@ -26,17 +26,17 @@ Symbol = XObject.define( $args : [], // original arguments used when constructing. addOn : "", alias : "", - augments : false, // Doctag + augments : [], // Doctag[] author : "", classDesc : "", - comment : { isUserComment: false }, + comment : {}, deprecated : "", desc : "", - events : [], + //events : false, example : "", - exceptions : [], - inherits : [], - inheritsFrom : [], + exceptions : [], // Doctag[] + inherits : [], // Doctag[] + //inheritsFrom : [], isa : "OBJECT", // OBJECT//FUNCTION isEvent : false, isConstant : false, @@ -46,13 +46,13 @@ Symbol = XObject.define( isPrivate : false, isStatic : false, memberOf : "", - methods : [], + methods : [], // Symbol[] _name : "", - _params : [], - properties : [], - requires : [], - returns : [], - see : [], + _params : [], //Doctag[] + properties : [], //Doctag[] + requires : [], //Doctag[] + returns : [], //Doctag[] + see : [], //Doctag[] since : "", srcFile : {}, type : "", @@ -63,19 +63,11 @@ Symbol = XObject.define( - toObject : function() + toJSON : function() { - function array2object(a , m) - { - m = m || false; - var r = []; - a.forEach(function(e) { - r.push(m ? e : e.toObject()); - }) - } - - var ret = { }; + + var ret = { '*object' : 'Symbol' }; for (var i in this) { if (Symbol.hide.indexOf(i) > -1) { continue; @@ -87,15 +79,25 @@ Symbol = XObject.define( 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(); + case 'augments' : + case 'exceptions' : + case 'inherits' : + case 'methods' : + case '_params': + case 'properties': + case 'requires': + case 'returns': + case 'see': + case 'cfgs': // key val of doctags.. + case 'comment' : + ret[i] = this[i] + continue; + + //skip + case 'inheritsFrom': + case 'childClasses': continue; - + default: print("object? :" + i); Seed.quit(); @@ -104,13 +106,16 @@ Symbol = XObject.define( case 'string': case 'number': + case 'boolean': ret[i] = this[i]; continue; default: + print("unknown type:" + typeof(this[i])); + print(JSON.stringify(this)); Seed.quit(); } } - + return ret; }, @@ -119,11 +124,11 @@ Symbol = XObject.define( // only initialize arrays / objects.. this.params = []; this.$args = []; - this.comment = { isUserComment: false }; - this.events = []; + + //this.events = []; this.exceptions = []; this.inherits = []; - this.inheritsFrom = []; + // this.isa = "OBJECT"; // OBJECT//FUNCTION this.methods = []; this._params = []; @@ -132,8 +137,16 @@ Symbol = XObject.define( this.returns = []; this.see = []; this.srcFile = {}; - this.childClasses = []; + + this.cfgs = {}; + // derived later? + this.inheritsFrom = []; + this.childClasses = []; + + this.comment = new DocComment(); + this.comment.isUserComment = false; + }, @@ -345,6 +358,7 @@ Symbol = XObject.define( // @class var classes = this.comment.getTag("class"); if (classes.length) { + //print(JSON.stringify(this,null,4)); this.isa = "CONSTRUCTOR"; this.classDesc = classes[0].desc; // desc can't apply to the constructor as there is none. if (!this.classDesc) { @@ -440,6 +454,7 @@ Symbol = XObject.define( // @static if (this.comment.getTag("singleton").length) { this.isStatic = true; + //print('------------- got singleton ---------------' + this.isa); //if (this.isa == "CONSTRUCTOR") { // this.isNamespace = true; //} @@ -652,6 +667,11 @@ Symbol = XObject.define( if (memberOfs.length) { this.memberOf = memberOfs[0].desc; this.memberOf = this.memberOf.replace(/\.prototype\.?/g, "#"); + this.name = this.name.split('.').pop(); + this.name = this.name.split('#').pop(); + this.name = this.memberOf + this.name; + this._name = this.name + this.alias = this.name; } /*~t @@ -809,4 +829,4 @@ Symbol.fromDump = function(t) ns[i] = t[i]; } return ns; -} \ No newline at end of file +}