toJSON : function()
{
- function array2object(a)
- {
-
- var r = [];
- a.forEach(function(e) {
- r.push(e.toObject());
- });
- return r;
- }
-
- var ret = { };
+
+ var ret = { '*object' : 'Symbol' };
for (var i in this) {
if (Symbol.hide.indexOf(i) > -1) {
continue;
case 'requires':
case 'returns':
case 'see':
- ret[i] = array2object(this[i],true);
- continue;
-
-
case 'cfgs': // key val of doctags..
- ret[i] = {}
- for(k in this[i]) {
- ret[i][k] = this[i][k].toObject()
- }
- continue;
- //objects..
-
case 'comment' :
- // print(JSON.stringify(this[i]));
- ret[i] = this[i].toObject();
- continue;
+ ret[i] = this[i]
+ continue;
//skip
case 'inheritsFrom':
case 'boolean':
ret[i] = this[i]; continue;
default:
+
print("unknown type:" + typeof(this[i]));
+ print(JSON.stringify(this));
Seed.quit();
}
}
// @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) {
// @static
if (this.comment.getTag("singleton").length) {
this.isStatic = true;
+ //print('------------- got singleton ---------------' + this.isa);
//if (this.isa == "CONSTRUCTOR") {
// this.isNamespace = true;
//}
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
ns[i] = t[i];
}
return ns;
-}
\ No newline at end of file
+}