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(
Object,
{
+ _index : false,
+
+
init : function() {
this._index = {};
},
- keys : function() {
+ keys : function()
+ {
var found = [];
for (var p in this._index) {
found.push(p);
hasSymbol : function(alias) {
- return this.keys().indexOf(alias) > -1;
+ return typeof(this._index[alias]) != 'undefined';
+ //return this.keys().indexOf(alias) > -1;
},
addSymbol : function(symbol) {
- print("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;
},
}
return found;
},
+ /**
+ * for serializing
+ */
+ toJSON : function() {
+ return {
+ '*object' : 'SymbolSet',
+ _index : this._index
+ };
+
+ },
+
deleteSymbol : function(alias) {
if (!this.hasSymbol(alias)) return;
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;
}
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 {
// 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 );
// print(container.toSource());
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;
}
- }
+ //}
}
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"));
//while(addAugments(symbol.augments) > 0) { }
}
+
})
SymbolSet.isBuiltin = function(name) {