Add Javascript Compressor, and new XObject base util class (will replace Object.js)
[gnome.introspection-doc-generator] / JSDOC / Token.js
index cad3547..0486c68 100644 (file)
@@ -4,18 +4,41 @@ imports['Object.js'].load(Object);
 JSDOC   = imports['JSDOC.js'].JSDOC;
 console = imports['console.js'].console;
 /**
-       @constructor
+ *     @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
+ *     PUNC  (puctuation)       - name is String description of punctionan (eg LEFTPARAM)
+ *     WHIT  (white space)      - name is SPACE,NEWLINE
+ *     STRN  (string)           - name is DOBULE_QUOTE, SINGLE_QUOTE
+ *     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
+ * 
 */
 
 Token = Object.define(
-    function(data, type, name) {
+    function(data, type, name, line) {
         this.data = data;
         this.type = type;
         this.name = name;
-        this.prefix = '';
+        this.line = line;
+        this.prefix = '';    
+        this.outData = false; // used by packer/scopeparser
+        this.identifier = false; // used by scope
     }, 
     Object, 
     {
+         toString: function()
+        {
+            return 'line:' + this.line + ', type:' + this.type + ', name:' + this.name + ', data:' + this.data;
+        },
+        
         
         toRaw : function(lvl)
         {