Skip to content

Commit

Permalink
[parser] Disallow numeric separators in legacy octal like inte… (#10493)
Browse files Browse the repository at this point in the history
* Disallow numeric separators in lols

* Update whitelist

* Rename test

* Better syntax when checking
  • Loading branch information
zant authored and nicolo-ribaudo committed Sep 24, 2019
1 parent eaa1474 commit 490798a
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 8 deletions.
4 changes: 2 additions & 2 deletions packages/babel-parser/src/tokenizer/index.js
Expand Up @@ -1035,8 +1035,8 @@ export default class Tokenizer extends LocationParser {
next = this.input.charCodeAt(this.state.pos);
}

// disallow numeric separators in non octal decimals
if (this.hasPlugin("numericSeparator") && isNonOctalDecimalInt) {
// disallow numeric separators in non octal decimals and legacy octal likes
if (this.hasPlugin("numericSeparator") && (octal || isNonOctalDecimalInt)) {
const underscorePos = this.input
.slice(start, this.state.pos)
.indexOf("_");
Expand Down
@@ -0,0 +1 @@
00_0
@@ -0,0 +1 @@
{ "throws": "Numeric separator can not be used after leading 0 (1:2)" }
6 changes: 0 additions & 6 deletions scripts/tests/test262/test262_whitelist.txt
Expand Up @@ -104,12 +104,6 @@ language/expressions/object/method-definition/private-name-early-error-gen-insid
language/expressions/object/method-definition/private-name-early-error-gen-inside-class.js(strict mode)
language/expressions/object/method-definition/private-name-early-error-method-inside-class.js(default)
language/expressions/object/method-definition/private-name-early-error-method-inside-class.js(strict mode)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-00-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-01-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-07-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-0_0-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-0_1-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-0_7-err.js(default)
language/module-code/privatename-not-valid-earlyerr-module-1.js(default)
language/module-code/privatename-not-valid-earlyerr-module-1.js(strict mode)
language/module-code/privatename-not-valid-earlyerr-module-2.js(default)
Expand Down

0 comments on commit 490798a

Please sign in to comment.