Lines Matching refs:S

228     var S = {  variable
256 S.regex_allowed = true;
272 return S.text.charAt(S.pos);
276 var ch = S.text.charAt(S.pos++);
280 S.col = 0;
281 S.line++;
282 if (!in_string) S.newline_before = true;
285 S.pos++;
289 S.col++;
299 return S.text.substr(S.pos, str.length) == str;
303 var text = S.text;
304 for (var i = S.pos; i < S.text.length; ++i) {
311 var pos = S.text.indexOf(what, S.pos);
317 S.tokline = S.line;
318 S.tokcol = S.col;
319 S.tokpos = S.pos;
323 S.regex_allowed = type == "operator" && !UNARY_POSTFIX[value]
331 line : S.tokline,
332 col : S.tokcol,
333 pos : S.tokpos,
334 endline : S.line,
335 endcol : S.col,
336 endpos : S.pos,
337 nlb : S.newline_before,
344 ret.comments_before = S.comments_before;
345 ret.comments_after = S.comments_before = [];
347 S.newline_before = false;
363 js_error(err, filename, S.tokline, S.tokcol, S.tokpos);
448 var regex_allowed = S.regex_allowed;
451 ret = S.text.substr(S.pos);
452 S.pos = S.text.length;
454 ret = S.text.substring(S.pos, i);
455 S.pos = i;
457 S.col = S.tokcol + (S.pos - S.tokpos);
458 S.comments_before.push(token(type, ret, true));
459 S.regex_allowed = regex_allowed;
464 var regex_allowed = S.regex_allowed;
466 var text = S.text.substring(S.pos, i).replace(/\r\n|\r|\u2028|\u2029/g, "\n");
469 S.comments_before.push(token("comment2", text, true));
470 S.regex_allowed = regex_allowed;
550 return S.regex_allowed ? read_regexp("") : read_operator("/");
582 if (shebang && S.pos == 0 && looking_at("#!")) {
596 if (looking_at("-->") && S.newline_before) {
624 if (nc) S = nc;
625 return S;
629 S.directives[directive] = true;
633 S.directives = Object.create(S.directives);
637 S.directives = Object.getPrototypeOf(S.directives);
641 return !!S.directives[directive];
694 var S = { variable
710 S.token = next();
713 return is_token(S.token, type, value);
717 return S.peeked || (S.peeked = S.input());
721 S.prev = S.token;
722 if (S.peeked) {
723 S.token = S.peeked;
724 S.peeked = null;
726 S.token = S.input();
728 S.in_directives = S.in_directives && (
729 S.token.type == "string" || is("punc", ";")
731 return S.token;
735 return S.prev;
739 var ctx = S.input.context();
756 if (token == null) token = S.token;
762 …token_error(S.token, "Unexpected token: " + token_to_string(S.token.type, S.token.value) + ", expe…
777 && (is("eof") || is("punc", "}") || has_newline_before(S.token));
794 var start = S.token;
805 S.peeked = null;
806 S.token = S.input(S.token.value.substr(1)); // force regexp
812 switch (S.token.type) {
814 var dir = S.in_directives;
819 S.input.add_directive(value);
822 S.in_directives = dir = false;
835 switch (S.token.value) {
846 if (S.in_async) return simple_statement();
867 if (S.in_generator) return simple_statement();
875 switch (S.token.value) {
878 start : S.token,
887 S.in_directives = false;
895 switch (S.token.value) {
952 if (S.in_function == 0 && !options.bare_returns)
973 if (has_newline_before(S.token))
990 if (S.input.has_directive("use strict")) {
1005 if (!all(S.labels, function(l) {
1015 S.labels.push(label);
1017 S.labels.pop();
1045 }, S.labels);
1048 } else if (S.in_loop == 0) croak(type.TYPE + " not inside a loop or switch");
1066 var was_async = S.in_async;
1067 var was_gen = S.in_generator;
1068 S.input.push_directives_stack();
1069 S.input.add_directive("use strict");
1089 var start = S.token;
1094 var internal = is("name") && /^#/.test(S.token.value);
1096 var gen_start = S.token;
1122 var internal = is("name") && /^#/.test(S.token.value);
1125 var func_start = S.token;
1143 S.in_async = false;
1144 S.in_generator = false;
1146 S.in_generator = was_gen;
1147 S.in_async = was_async;
1162 private: is("name") && /^#/.test(S.token.value),
1181 S.input.pop_directives_stack();
1182 S.in_generator = was_gen;
1183 S.in_async = was_async;
1323 var was_async = S.in_async;
1324 var was_gen = S.in_generator;
1325 S.in_async = async;
1326 S.in_generator = false;
1327 var was_funarg = S.in_funarg;
1328 S.in_funarg = S.in_function;
1332 S.in_funarg = was_funarg;
1335 var loop = S.in_loop;
1336 var labels = S.labels;
1337 ++S.in_function;
1338 S.input.push_directives_stack();
1339 S.in_loop = 0;
1340 S.labels = [];
1342 S.in_directives = true;
1350 var is_strict = S.input.has_directive("use strict");
1351 S.input.pop_directives_stack();
1352 --S.in_function;
1353 S.in_loop = loop;
1354 S.labels = labels;
1355 S.in_generator = was_gen;
1356 S.in_async = was_async;
1370 var was_async = S.in_async;
1371 var was_gen = S.in_generator;
1375 S.in_async = /^Async/.test(ctor.TYPE);
1376 S.in_generator = /Generator/.test(ctor.TYPE);
1378 S.in_async = /^Async/.test(ctor.TYPE);
1379 S.in_generator = /Generator/.test(ctor.TYPE);
1385 var was_funarg = S.in_funarg;
1386 S.in_funarg = S.in_function;
1390 S.in_funarg = was_funarg;
1391 var loop = S.in_loop;
1392 var labels = S.labels;
1393 ++S.in_function;
1394 S.in_directives = true;
1395 S.input.push_directives_stack();
1396 S.in_loop = 0;
1397 S.labels = [];
1399 var is_strict = S.input.has_directive("use strict");
1400 S.input.pop_directives_stack();
1401 --S.in_function;
1402 S.in_loop = loop;
1403 S.labels = labels;
1404 S.in_generator = was_gen;
1405 S.in_async = was_async;
1433 return is("name") || is("string") || is_identifier_string(S.token.value);
1446 var path = S.token;
1454 var key = S.token;
1460 alias = S.token;
1475 var key = S.token;
1481 aliases.push(S.token);
1509 var start = S.token;
1540 } else if (is("keyword")) switch (S.token.value) {
1553 if (is("name")) switch (S.token.value) {
1565 } else if (is("keyword")) switch (S.token.value) {
1605 var key = S.token;
1616 var key = S.token;
1664 start : (tmp = S.token, next(), tmp),
1675 start : (tmp = S.token, next(), expect(":"), tmp),
1693 var start = S.token;
1709 var start = S.token;
1729 var start = S.token;
1781 var start = S.token;
1804 var ret, tok = S.token, value = tok.value;
1850 var start = S.token;
1881 if (comment.nlb) S.token.nlb = true;
1933 start = S.token;
1950 if (ATOMIC_START_TOKEN[S.token.type]) {
1963 a.push(new AST_Hole({ start: S.token, end: S.token }));
1968 start: S.token,
2001 var start = S.token;
2005 var gen_start = S.token;
2054 var func_start = S.token;
2080 var func_start = S.token;
2115 var tmp = S.token;
2137 var name = S.token.value;
2146 if (S.in_async) unexpected(token);
2155 if (S.in_generator) unexpected(token);
2175 var sym = _make_symbol(type, S.token);
2176 if (S.input.has_directive("use strict") && sym instanceof AST_SymbolDeclaration) {
2184 var start = S.token;
2204 var key_start = S.token;
2250 var start = S.token;
2263 var start = tag ? tag.start : S.token;
2264 var read = S.input.context().read_template;
2343 var start = S.token;
2344 if (S.in_async && is("name", "await")) {
2345 if (S.in_funarg === S.in_function) croak("Invalid use of await in function argument");
2346 S.input.context().regex_allowed = true;
2354 if (S.in_generator && is("name", "yield")) {
2355 if (S.in_funarg === S.in_function) croak("Invalid use of yield in function argument");
2356 S.input.context().regex_allowed = true;
2364 … } else if (is("punc") ? !PUNC_AFTER_EXPRESSION[S.token.value] : !can_insert_semicolon()) {
2383 while (is("operator") && UNARY_POSTFIX[S.token.value] && !has_newline_before(S.token)) {
2384 val = make_unary(AST_UnaryPostfix, S.token, val);
2386 val.end = S.token;
2401 if (expr instanceof AST_SymbolRef && S.input.has_directive("use strict"))
2409 var op = is("operator") ? S.token.value : null;
2431 var start = S.token;
2511 var start = S.token;
2512 var left = maybe_conditional(no_in), val = S.token.value;
2530 var start = S.token;
2551 ++S.in_loop;
2553 --S.in_loop;
2565 var start = S.token;
2568 S.in_async = true;
2569 S.input.add_directive("use strict");
2571 S.input.push_directives_stack();
2574 S.input.pop_directives_stack();