Re-arrange files, add support for classic JS Documentor, and packer
[gnome.introspection-doc-generator] / JSDOC / Token.js
index 0486c68..465d70e 100644 (file)
@@ -1,14 +1,15 @@
 //<Script type="text/javascript">
 
-imports['Object.js'].load(Object);
-JSDOC   = imports['JSDOC.js'].JSDOC;
-console = imports['console.js'].console;
+XObject = imports.XObject.XObject;
+console = imports.console.console;
 /**
  *     @class Token
  * 
  *  @prop data {String} raw value of token
  *  @prop type {String} type of token
  *     TOKN  (unknown)          - name is UNKNOWN_TOKEN
+ * 
  *     KEYW  (keyword)          - name is upper case version of keyword
  *     NAME  (name/identifier)  - name is NAME
  *     COMM  (comment)          - name is MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM
@@ -18,11 +19,21 @@ console = imports['console.js'].console;
  *     NUMB  (number)           - name is OCTAL,DECIMAL,HEC_DEC
  *     REGX   (reg.expression)  - name is REGX
  *  @prop name {String} see type details above
- *  @prop indentifier {Identifier} identifier class if relivant
+ *  @prop identifier {Identifier} identifier class if relivant
+ * 
+ * 
+ * 
+ * old mappings:
+ * 
+ * Script.TOKidentifier  - type == 'NAME'
+ * Script.TOKassign  = data == '='
+ * Script.TOKsemicolon data == '';
+ * 
+ * 
  * 
 */
 
-Token = Object.define(
+Token = XObject.define(
     function(data, type, name, line) {
         this.data = data;
         this.type = type;
@@ -31,12 +42,15 @@ Token = Object.define(
         this.prefix = '';    
         this.outData = false; // used by packer/scopeparser
         this.identifier = false; // used by scope
+        this.id = Token.id++;
     }, 
     Object, 
     {
          toString: function()
         {
-            return 'line:' + this.line + ', type:' + this.type + ', name:' + this.name + ', data:' + this.data;
+            return 'line:' + this.line + ', type:' + this.type + 
+                ', name:' + this.name + ', data:' + this.data + 
+                ((this.outData === false) ? '' : ( 'outData : ' + this.outData));
         },
         
         
@@ -92,4 +106,4 @@ Token = Object.define(
             return this.name === what || this.type === what;
         }
 });
-     
\ No newline at end of file
+Token.id = 0;     
\ No newline at end of file