- var inFunction, inGenerator, labels, strict, inXJSChild, inXJSTag;From 96024e695042af4efeb08c5cf63a92bcae55edf0 Mon Sep 17 00:00:00 2001
From: Ingvar Stepanyan break and continue have somewhere to jump to, and
- var inFunction, inGenerator, labels, strict, inXJSChild, inXJSTag;tokStart will point at the right position.
size = 2;
return finishOp(_ltSlash, size);
}
- return finishOp(code === 60 ? _lt : _gt, size);
+ return code === 60 ? finishOp(_lt, size) : finishOp(_gt, size, !inXJSTag);
}
function readToken_eq_excl(code) { // '=!', '=>'
@@ -1705,7 +1706,7 @@ by a digit or another two dots.
case 91: ++tokPos; return finishToken(_bracketL);
case 93: ++tokPos; return finishToken(_bracketR);
case 123: ++tokPos; return finishToken(_braceL);
- case 125: ++tokPos; return finishToken(_braceR);
+ case 125: ++tokPos; return finishToken(_braceR, undefined, !inXJSChildExpression);
case 58: ++tokPos; return finishToken(_colon);
case 63: ++tokPos; return finishToken(_question);
@@ -1871,10 +1872,10 @@ character, or something that’s entirely disallowed.
return tok;
}
- function finishOp(type, size) {
+ function finishOp(type, size, shouldSkipSpace) {
var str = input.slice(tokPos, tokPos + size);
tokPos += size;
- finishToken(type, str);
+ finishToken(type, str, shouldSkipSpace);
}