X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FSymbolSet.js;h=5843a946d5fe56a337a2f3425505b5bdfcbb75f8;hp=936ba3353d9eb6138a7d3fe512002f45bdea2c4e;hb=HEAD;hpb=c806a473037d9fd4dd75a38919a8ccb52a330793 diff --git a/JSDOC/SymbolSet.js b/JSDOC/SymbolSet.js index 936ba33..5843a94 100644 --- a/JSDOC/SymbolSet.js +++ b/JSDOC/SymbolSet.js @@ -2,10 +2,12 @@ XObject = imports.XObject.XObject; -Options = imports.Options.Options; -Parser = imports.Parser.Parser; -Symbol = imports.Symbol.Symbol; DocComment = imports.DocComment.DocComment; +// circular references.. +///Options = imports.BuildDocs.Options; +//Parser = imports.Parser.Parser; +//Symbol = imports.Symbol.Symbol; + SymbolSet = XObject.define( @@ -15,11 +17,15 @@ SymbolSet = XObject.define( Object, { + _index : false, + + init : function() { this._index = {}; }, - keys : function() { + keys : function() + { var found = []; for (var p in this._index) { found.push(p); @@ -29,14 +35,16 @@ SymbolSet = XObject.define( hasSymbol : function(alias) { - return this.keys().indexOf(alias) > -1; + return typeof(this._index[alias]) != 'undefined'; + //return this.keys().indexOf(alias) > -1; }, addSymbol : function(symbol) { - println("ADDING SYMBOL:"+symbol.alias.toString()); + //print("ADDING SYMBOL:"+symbol.alias.toString()); + if (this.hasSymbol(symbol.alias)) { - Options.LOG.warn("Overwriting symbol documentation for: "+symbol.alias + "."); + imports.BuildDocs.Options.LOG.warn("Overwriting symbol documentation for: "+symbol.alias + "."); } this._index[symbol.alias] = symbol; }, @@ -54,6 +62,17 @@ SymbolSet = XObject.define( } return found; }, + /** + * for serializing + */ + toJSON : function() { + return { + '*object' : 'SymbolSet', + _index : this._index + }; + + }, + deleteSymbol : function(alias) { if (!this.hasSymbol(alias)) return; @@ -80,20 +99,23 @@ SymbolSet = XObject.define( resolveBorrows : function() { for (p in this._index) { var symbol = this._index[p]; + + + if (symbol.is("FILE") || symbol.is("GLOBAL")) continue; var borrows = symbol.inherits; for (var i = 0; i < borrows.length; i++) { var borrowed = this.getSymbol(borrows[i].alias); if (!borrowed) { - Options.LOG.warn("Can't borrow undocumented "+borrows[i].alias+"."); + imports.BuildDocs.Options.LOG.warn("Can't borrow undocumented "+borrows[i].alias+"."); continue; } var borrowAsName = borrows[i].as; var borrowAsAlias = borrowAsName; if (!borrowAsName) { - Options.LOG.warn("Malformed @borrow, 'as' is required."); + imports.BuildDocs.Options.LOG.warn("Malformed @borrow, 'as' is required."); continue; } @@ -180,22 +202,22 @@ SymbolSet = XObject.define( if (symbol.memberOf.match(/[.#-]$/)) { symbol.memberOf = symbol.memberOf.substr(0, symbol.memberOf.length-1); } - //println("looking for memberOf: " + symbol.memberOf + " FOR " + symbol.alias); + //print("looking for memberOf: " + symbol.memberOf + " FOR " + symbol.alias); // add to parent's methods or properties list if (symbol.memberOf) { var container = this.getSymbol(symbol.memberOf); if (!container) { if (SymbolSet.isBuiltin(symbol.memberOf)) { - container = Parser.addBuiltin(symbol.memberOf); + container = imports.Parser.Parser.addBuiltin(symbol.memberOf); } else { - // println("symbol NOT a BUILT IN - createing a container"); + // print("symbol NOT a BUILT IN - createing a container"); // Eg. Ext.y.z (missing y) // we need to add in the missing symbol... - container = new Symbol(symbol.memberOf, [], "OBJECT", new DocComment("")); + container = new imports.Symbol.Symbol(symbol.memberOf, [], "OBJECT", new DocComment("")); container.isNamespace = true; this.addSymbol( container ); - // println(container.toSource()); + // print(container.toSource()); //container = this.getSymbol(symbol.memberOf); // fake container ... so dont ad symbols to it.. continue; @@ -227,10 +249,10 @@ SymbolSet = XObject.define( if (contributer) { contributer.childClasses.push(symbol.alias); symbol.inheritsFrom.push(contributer.alias); - if (!isUnique(symbol.inheritsFrom)) { - Options.LOG.warn("Can't resolve augments: Circular reference: "+symbol.alias+" inherits from "+contributer.alias+" more than once."); - } - else { + //if (!isUnique(symbol.inheritsFrom)) { + // imports.BuildDocs.Options.LOG.warn("Can't resolve augments: Circular reference: "+symbol.alias+" inherits from "+contributer.alias+" more than once."); + //} + //else { var cmethods = contributer.methods; var cproperties = contributer.properties; var cfgs = contributer.cfgs; @@ -245,11 +267,11 @@ SymbolSet = XObject.define( } - } + //} } else { - Options.LOG.warn("Can't augment contributer: '"+augments[ii]+"', not found. FOR: " + symbol.alias); + imports.BuildDocs.Options.LOG.warn("Can't augment contributer: '"+augments[ii]+"', not found. FOR: " + symbol.alias); //LOG.warn("We only have the following symbols: \n" + // this.keys().toSource().split(",").join(", \n")); @@ -268,15 +290,15 @@ SymbolSet = XObject.define( } var _t = this; - println("buildAugmentsList:" + symbol.alias); + print("buildAugmentsList:" + symbol.alias); var addAugments = function (alist, forceit) { // returns number added.. if (!alist.length) { return 0; } - println("buildAugmentsList:addAugments" + alist.length); + print("buildAugmentsList:addAugments" + alist.length); var rval = 0; for(var ii = 0; ii < alist.length; ii++) { - println("getAlias:" + alist[ii]); + print("getAlias:" + alist[ii]); if (alist[ii] == symbol.alias) { continue; } @@ -297,13 +319,14 @@ SymbolSet = XObject.define( rval++; } - println("buildAugmentsList: ADDED:" + rval); + print("buildAugmentsList: ADDED:" + rval); return rval; } addAugments(symbol.augments, true); //while(addAugments(symbol.augments) > 0) { } } + }) SymbolSet.isBuiltin = function(name) {