log : function(str)
{
- print (" ".substring(0, this.braceNesting) + str);
+ print (" ".substring(0, this.braceNesting*2) + str);
//println("<B>LOG:</B>" + htmlescape(str) + "<BR/>\n");
},
if (token.name == "IN") {
break;
} else {
- var bn = this.braceNesting;
+ //var bn = this.braceNesting;
this.parseExpression();
- this.braceNesting = bn;
+ //this.braceNesting = bn;
//this.logR("parseScope DONE : <B>ParseExpression</B> - tok is:" + this.ts.lookT(0).toString());
token = this.ts.lookTok(1);
//print(">>>>>> OBJLIT POP"+ this.braceNesting);
//assert braceNesting >= scope.getBra ceNesting();
- if (this.braceNesting < 0) {
+ if (this.braceNesting < expressionBraceNesting) {
var ls = this.scopes.pop();
ls.getUsedSymbols();
+ // eat symbol if we are currently at {
+ if (this.ts.look(0).data == '{') {
+ this.ts.nextTok();
+ }
+
//print("<<<<<<<EXIT SCOPE" +this.scopes.length);
return;
}
currentScope = this.scopes[this.scopes.length-1];
//println("<i>"+token.data+"</i>");
- !this.debug|| print ("EXP" + token.toString());
+ this.log("EXP:" + token.data);
switch (token.type) {
case 'PUNC':
switch(token.data) {
if (isInObjectLitAr && this.ts.lookTok(-1).data == "," && this.ts.lookTok(1).data == ":") {
break;
}
-
+ print(this.ts.lookTok(-1).data);
if (this.ts.lookTok(-1).data == ".") {
//skip '.'
break;
// assert token.getType() == Token.LC;
this.braceNesting++;
- //token = this.ts.nextTok();
+ token = this.ts.nextTok();
if (token.type == "STRN" && this.ts.lookTok(1).data == ';') {
/*