case "STRN.DOUBLE_QUOTE": // used for object lit detection..
case "STRN.SINGLE_QUOTE":
- print('SCOPE-STRING:' + token.toString());
+ // print('SCOPE-STRING:' + token.toString());
//println("<i>"+token.data+"</i>");
if (this.ts.lookTok(-1).data == '{' && this.ts.lookTok(1).data == ':') {
// got identifier..
// look for { ** : <- indicates obj literal.. ** this could occur with numbers ..
- if ((this.ts.lookTok(-1).data == "{") && (this.ts.lookTok(1).data == ":")) {
- isObjectLitAr.pop();
- isObjectLitAr.push(true);
- //print(">>>>>> OBJLIT REPUSH(true)");
- //println("<i>"+token.data+"</i>");
- break;
- }
- // print("DEAL WITH obj lit:");
- isInObjectLitAr = isObjectLitAr[isObjectLitAr.length-1];
-
- if (isInObjectLitAr && (this.ts.lookTok(1).data == ":") && (this.ts.lookTok(-1).data == ",")) {
- // skip, it's an object lit key..
- //println("<i>"+token.data+"</i>");
- break;
- }
-
+
// skip anyting with "." before it..!!
//print("SYMBOL: " + token.toString());
symbol = token.data;
+ if (symbol == 'this') {
+ break;
+ }
if (this.mode == 'PASS2_SYMBOL_TREE') {
//println("GOT IDENT: -2 : " + this.ts.lookT(-2).toString() + " <BR> ..... -1 : " + this.ts.lookT(-1).toString() + " <BR> ");
// key value..
this.ts = new TokenStream(token.props[prop].val);
- this.parseScope(currentScope);
+ this.parseScope(false);
}
this.ts = curTS;
//skip '.'
break;
}
-
+ if (symbol == 'this') {
+ break;
+ }
if (this.mode == 'PASS2_SYMBOL_TREE') {
//print("Found an undeclared symbol: " + symbol + ' (line:' + token.line + ')');
//throw "OOPS";
} else {
- print("undeclared:" + token.toString())
+ //print("undeclared:" + token.toString())
}