JSDOC/TokenReader.js
[gnome.introspection-doc-generator] / JSDOC / TokenReader.js
index 3223a37..611868c 100644 (file)
@@ -6,7 +6,7 @@ console = imports['console.js'].console;
 
 JSDOC   = imports['JSDOC.js'].JSDOC;
 Token   = imports['JSDOC/Token.js'].Token;
-Lang    = imports['JSDOC/Token.js'].Lang;
+Lang    = imports['JSDOC/Lang.js'].Lang;
 
 /**
        @class Search a {@link JSDOC.TextStream} for language tokens.
@@ -17,6 +17,7 @@ TokenReader = XObject.define(
         this.keepDocs = true;
         this.keepWhite = false;
         this.keepComments = false;
+        this.sepIdents = false; // seperate '.' in identifiers..
         XObject.extend(this, o || {});
         
     },
@@ -73,9 +74,20 @@ TokenReader = XObject.define(
             }
             else {
                 var name;
-                if ((name = Lang.keyword(found))) tokens.push(new Token(found, "KEYW", name));
-                else tokens.push(new Token(found, "NAME", "NAME"));
+                if ((name = Lang.keyword(found))) {
+                    tokens.push(new Token(found, "KEYW", name));
+                    return true;
+                }
+                if (found.indexOf('.') < 0) {
+                    tokens.push(new Token(found, "NAME", "NAME"));
+                    return true;
+                }
+                var n = found.split('.');
+                n.forEach(function(nm) {
+                    tokens.push(new Token(nm, "NAME", "NAME"));
+                });
                 return true;
+                
             }
         },