sync fixes
[app.jsdoc] / JSDOC / SymbolSet.js
index 09c0cd4..377e391 100644 (file)
@@ -1,17 +1,14 @@
-//<script type="text/javascript">
-
  
 XObject         = imports.XObject.XObject;
 DocComment      = imports.DocComment.DocComment;
-// circular references..
-///Options         = imports.BuildDocs.Options;
-//Parser          = imports.Parser.Parser;
-//Symbol          = imports.Symbol.Symbol;
 
 /**
+ * The point of this class is to store and manage all the symbols
+ *
  * @scope JSDOC
  * @class ScopeSet
- * The point of this class is to store and manage all the symbols
+ * 
  *
  */ 
 
@@ -115,8 +112,13 @@ SymbolSet = XObject.define(
             this.resolveMemberOf();
             this.resolveAugments();
         },
-
-        resolveBorrows : function() {
+        /**
+         * Resolve borrows -
+         *  = it reads 'inherits' loops thorugh it.. not sure yet what it does..
+         *
+         */
+        resolveBorrows : function()
+        {
             for (p in this._index) {
                 var symbol = this._index[p];
                 
@@ -159,8 +161,13 @@ SymbolSet = XObject.define(
                 }
             }
         },
-
-        resolveMemberOf : function() {
+        /**
+         * puts all the properties, cfg, ??events and methods into the owning class.
+         *
+         *
+         */
+        resolveMemberOf : function()
+        {
             for (var p in this._index) {
                 var symbol = this.getSymbol(p);
                 
@@ -176,9 +183,9 @@ SymbolSet = XObject.define(
                     if (parts) {
                         symbol.memberOf = parts[1];
                         symbol.name = parts[2];
-                    }
-                    // like bar is a memberOf foo
-                    else {
+                   
+                        // like bar is a memberOf foo
+                     } else {
                         var joiner = symbol.memberOf.charAt(symbol.memberOf.length-1);
                         if (!/[.#-]/.test(joiner)) symbol.memberOf += ".";
                         
@@ -207,7 +214,7 @@ SymbolSet = XObject.define(
                             symbol.isInner = false;
                             break;
                             
-                        case '-' :
+                        case '-' :  // WTF is this about???
                             symbol.isStatic = false;
                             symbol.isInner = true;
                             break;
@@ -225,26 +232,32 @@ SymbolSet = XObject.define(
                     symbol.memberOf = symbol.memberOf.substr(0, symbol.memberOf.length-1);
                 }
                 
-                 //print("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 = imports.ScopeNamer.ScopeNamer.addBuiltin(symbol.memberOf);
                         }
                         else {
-                           // print("symbol NOT a BUILT IN - createing a container");
+                            print("symbol NOT a BUILT IN - createing a container " + symbol.memberOf);
                             // Eg. Ext.y.z (missing y)
                             // we need to add in the missing symbol...
-                            container = new imports.Symbol.Symbol(symbol.memberOf, [], "OBJECT", new DocComment(""));
-                            //container.isNamespace = true;
+                            container = new imports.Symbol.Symbol(symbol.memberOf, [], "OBJECT",
+                                                            new DocComment("@namespace " + symbol.memberOf));
+                            container.isNamespace = true;
                             this.addSymbol( container );
+                            if (container.addMember(symbol)) {
+                                //print("DELETE (added to container..): " + container.alias + ' => ' + symbol.alias);
+                                this.deleteSymbol(symbol.alias);
+                            }
                             // print(container.toSource());
                             //container = this.getSymbol(symbol.memberOf);
                             // fake container ... so dont ad symbols to it..
                             continue;
-                            container = false;
+                            //container = false;
                             //LOG.warn("Can't document "+symbol.name +" as a member of undocumented symbol "+symbol.memberOf+".");
                             //LOG.warn("We only have the following symbols: \n" + 
                             //    this.keys.toSource());
@@ -261,10 +274,23 @@ SymbolSet = XObject.define(
                             this.deleteSymbol(symbol.alias);
                         }
                     }
+                    continue;
                 }
+                
+                // not a member of.. let's log them...
+                print("NOT able to resolve memberOf: "  + symbol.alias);
+                
+                
             }
         },
 
+
+        /**
+         * sort out inhertied stuff...
+         * a) calls buildAugmentsList to find out what this class extends.
+         * b) adds to symbol.inheritsFrom.
+         * c) calls sybmol.inherit / symbol.addConfig to each of the child props..
+         */
         resolveAugments : function() {
             // does this sort out multiple extends???
             for (var p in this._index) {
@@ -272,6 +298,8 @@ SymbolSet = XObject.define(
                 this.buildAugmentsList(symbol); /// build heirachy of inheritance...
                 if (symbol.alias == "_global_" || symbol.is("FILE")) continue;
                 
+                //print(JSON.stringify(symbol.augments, null, 4));
+                
                 var augments = symbol.augments;
                 for(var ii = 0, il = augments.length; ii < il; ii++) {
                     var contributer = this.getSymbol(augments[ii]);
@@ -285,19 +313,20 @@ SymbolSet = XObject.define(
                         //    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;
-                            for (var ci = 0, cl = cmethods.length; ci < cl; ci++) {   
-                                symbol.inherit(cmethods[ci]);
-                            }
-                            for (var ci = 0, cl = cproperties.length; ci < cl; ci++) {
-                                symbol.inherit(cproperties[ci]);
-                            }
-                            for (var ci in cfgs) {
-                                symbol.addConfig(cfgs[ci]);
-                            }
-                            
+                        
+                        var cmethods = contributer.methods;
+                        var cproperties = contributer.properties;
+                        var cfgs = contributer.cfgs;
+                        for (var ci = 0, cl = cmethods.length; ci < cl; ci++) {   
+                            symbol.inherit(cmethods[ci]);
+                        }
+                        for (var ci = 0, cl = cproperties.length; ci < cl; ci++) {
+                            symbol.inherit(cproperties[ci]);
+                        }
+                        for (var ci in cfgs) {
+                            symbol.addConfig(cfgs[ci]);
+                        }
+                        
                                 
                         //}
                     }
@@ -362,14 +391,16 @@ SymbolSet = XObject.define(
 })
 
 SymbolSet.isBuiltin = function(name) {
-    return (SymbolSet.isBuiltin.coreObjects.indexOf(name) > -1);
+    return (SymbolSet.isBuiltin_coreObjects.indexOf(name) > -1);
 }
 // private
-SymbolSet.isBuiltin.coreObjects = [
+SymbolSet.isBuiltin_coreObjects = [
     
   //   '_global_',
     'Array', 'Boolean', 'Date', 'Function', 
     'Math', 'Number', 'Object', 'RegExp', 'String'
 ];
-
-SymbolSet.LOG = false;  // reference to parser ??? might not be needed..
\ No newline at end of file
+/**
+ * reference to parser ??? might not be needed..
+ */
+SymbolSet.LOG = false;  
\ No newline at end of file