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(
init : function() {
this._index = {};
- }
+ },
keys : function() {
var found = [];
found.push(p);
}
return found;
- }
+ },
hasSymbol : function(alias) {
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;
- }
+ },
getSymbol : function(alias) {
if (this.hasSymbol(alias)) return this._index[alias];
return false;
- }
+ },
toArray : function() {
var found = [];
found.push(this._index[p]);
}
return found;
- }
+ },
deleteSymbol : function(alias) {
if (!this.hasSymbol(alias)) return;
delete this._index[alias];
- }
+ },
renameSymbol : function(oldName, newName) {
// todo: should check if oldname or newname already exist
this.deleteSymbol(oldName);
this._index[newName].alias = newName;
return newName;
- }
+ },
relate : function() {
this.resolveBorrows();
this.resolveMemberOf();
this.resolveAugments();
- }
+ },
resolveBorrows : function() {
for (p in this._index) {
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;
}
this.addSymbol(clone);
}
}
- }
+ },
resolveMemberOf : function() {
for (var p in this._index) {
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;
if (container && !container.isNamespace) container.addMember(symbol);
}
}
- }
+ },
resolveAugments : function() {
// does this sort out multiple extends???
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.");
+ 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;
}
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"));
}
}
- }
+ },
buildAugmentsList : function(symbol)
{
}
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;
}
rval++;
}
- println("buildAugmentsList: ADDED:" + rval);
+ print("buildAugmentsList: ADDED:" + rval);
return rval;
}
addAugments(symbol.augments, true);