From 96b944f2110176cad5a725d5c16ff8224c863488 Mon Sep 17 00:00:00 2001 From: Federico Ciardi Date: Thu, 3 Jun 2021 06:03:57 +0200 Subject: [PATCH 1/3] fix(parser): correctly parse token location for `#{` and `#[` --- packages/babel-parser/src/tokenizer/index.js | 2 +- .../record-and-tuple/tokens-location/input.js | 2 + .../tokens-location/options.json | 4 + .../tokens-location/output.json | 106 ++++++++++++++++++ 4 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/output.json diff --git a/packages/babel-parser/src/tokenizer/index.js b/packages/babel-parser/src/tokenizer/index.js index b29621031f4a..0e03769a6523 100644 --- a/packages/babel-parser/src/tokenizer/index.js +++ b/packages/babel-parser/src/tokenizer/index.js @@ -486,6 +486,7 @@ export default class Tokenizer extends ParserErrors { ); } + this.state.pos += 2; if (next === charCodes.leftCurlyBrace) { // #{ this.finishToken(tt.braceHashL); @@ -493,7 +494,6 @@ export default class Tokenizer extends ParserErrors { // #[ this.finishToken(tt.bracketHashL); } - this.state.pos += 2; } else if (isIdentifierStart(next)) { ++this.state.pos; this.finishToken(tt.privateName, this.readWord1(next)); diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/input.js b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/input.js new file mode 100644 index 000000000000..ec40a374d1bb --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/input.js @@ -0,0 +1,2 @@ +#{} +#[] diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json new file mode 100644 index 000000000000..8ac91dea5de0 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json @@ -0,0 +1,4 @@ +{ + "plugins": [["recordAndTuple", { "syntaxType": "hash" }]], + "tokens": true +} diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/output.json b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/output.json new file mode 100644 index 000000000000..253e706dc59f --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/output.json @@ -0,0 +1,106 @@ +{ + "type": "File", + "start":0,"end":7,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":3}}, + "program": { + "type": "Program", + "start":0,"end":7,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":3}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, + "expression": { + "type": "RecordExpression", + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, + "properties": [] + } + }, + { + "type": "ExpressionStatement", + "start":4,"end":7,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":3}}, + "expression": { + "type": "TupleExpression", + "start":4,"end":7,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":3}}, + "elements": [] + } + } + ], + "directives": [] + }, + "tokens": [ + { + "type": { + "label": "#{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start":0,"end":2,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":2}} + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start":2,"end":3,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":3}} + }, + { + "type": { + "label": "#[", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":4,"end":6,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":2}} + }, + { + "type": { + "label": "]", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":6,"end":7,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":3}} + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":7,"end":7,"loc":{"start":{"line":2,"column":3},"end":{"line":2,"column":3}} + } + ] +} \ No newline at end of file From 1566985a6cd0a798e85f1510260ca0a942ad623e Mon Sep 17 00:00:00 2001 From: Federico Ciardi Date: Fri, 4 Jun 2021 17:43:00 +0200 Subject: [PATCH 2/3] fix: `bar` tokens --- packages/babel-parser/src/tokenizer/index.js | 4 +- .../tokens-location/options.json | 4 -- .../record-and-tuple/brace-bar/input.js | 1 + .../record-and-tuple/brace-bar/options.json | 4 ++ .../record-and-tuple/brace-bar/output.json | 70 +++++++++++++++++++ .../record-and-tuple/brace-hash}/input.js | 1 - .../record-and-tuple/brace-hash/options.json | 4 ++ .../record-and-tuple/brace-hash/output.json | 67 ++++++++++++++++++ .../record-and-tuple/bracket-bar/input.js | 1 + .../record-and-tuple/bracket-bar/options.json | 4 ++ .../record-and-tuple/bracket-bar/output.json | 70 +++++++++++++++++++ .../record-and-tuple/bracket-hash/input.js | 1 + .../bracket-hash/options.json | 4 ++ .../bracket-hash}/output.json | 49 ++----------- 14 files changed, 234 insertions(+), 50 deletions(-) delete mode 100644 packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/input.js create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/options.json create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json rename packages/babel-parser/test/fixtures/{experimental/record-and-tuple/tokens-location => tokens/record-and-tuple/brace-hash}/input.js (50%) create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/options.json create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/output.json create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/input.js create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/options.json create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/input.js create mode 100644 packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/options.json rename packages/babel-parser/test/fixtures/{experimental/record-and-tuple/tokens-location => tokens/record-and-tuple/bracket-hash}/output.json (54%) diff --git a/packages/babel-parser/src/tokenizer/index.js b/packages/babel-parser/src/tokenizer/index.js index 0e03769a6523..2bc1505a6f29 100644 --- a/packages/babel-parser/src/tokenizer/index.js +++ b/packages/babel-parser/src/tokenizer/index.js @@ -812,8 +812,8 @@ export default class Tokenizer extends ParserErrors { } // [| - this.finishToken(tt.bracketBarL); this.state.pos += 2; + this.finishToken(tt.bracketBarL); } else { ++this.state.pos; this.finishToken(tt.bracketL); @@ -836,8 +836,8 @@ export default class Tokenizer extends ParserErrors { } // {| - this.finishToken(tt.braceBarL); this.state.pos += 2; + this.finishToken(tt.braceBarL); } else { ++this.state.pos; this.finishToken(tt.braceL); diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json deleted file mode 100644 index 8ac91dea5de0..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "plugins": [["recordAndTuple", { "syntaxType": "hash" }]], - "tokens": true -} diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/input.js b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/input.js new file mode 100644 index 000000000000..58bca25f7eaf --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/input.js @@ -0,0 +1 @@ +{||} diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/options.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/options.json new file mode 100644 index 000000000000..616dcd299767 --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/options.json @@ -0,0 +1,4 @@ +{ + "plugins": [["recordAndTuple", { "syntaxType": "bar" }]], + "tokens": true +} diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json new file mode 100644 index 000000000000..e66291872a16 --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json @@ -0,0 +1,70 @@ +{ + "type": "File", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "program": { + "type": "Program", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "expression": { + "type": "RecordExpression", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "properties": [] + } + } + ], + "directives": [] + }, + "tokens": [ + { + "type": { + "label": "{|", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":0,"end":2,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":2}} + }, + { + "type": { + "label": "|}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "|}", + "start":2,"end":4,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":4}} + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":4,"end":4,"loc":{"start":{"line":1,"column":4},"end":{"line":1,"column":4}} + } + ] +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/input.js b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/input.js similarity index 50% rename from packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/input.js rename to packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/input.js index ec40a374d1bb..feca1c1b895f 100644 --- a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/input.js +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/input.js @@ -1,2 +1 @@ #{} -#[] diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/options.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/options.json new file mode 100644 index 000000000000..330c1681f890 --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/options.json @@ -0,0 +1,4 @@ +{ + "plugins": [[ "recordAndTuple", { "syntaxType": "hash" }]], + "tokens": true +} diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/output.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/output.json new file mode 100644 index 000000000000..2902869a677a --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-hash/output.json @@ -0,0 +1,67 @@ +{ + "type": "File", + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, + "program": { + "type": "Program", + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, + "expression": { + "type": "RecordExpression", + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, + "properties": [] + } + } + ], + "directives": [] + }, + "tokens": [ + { + "type": { + "label": "#{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start":0,"end":2,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":2}} + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start":2,"end":3,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":3}} + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":3,"end":3,"loc":{"start":{"line":1,"column":3},"end":{"line":1,"column":3}} + } + ] +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/input.js b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/input.js new file mode 100644 index 000000000000..38030aa27cca --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/input.js @@ -0,0 +1 @@ +[||] diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/options.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/options.json new file mode 100644 index 000000000000..616dcd299767 --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/options.json @@ -0,0 +1,4 @@ +{ + "plugins": [["recordAndTuple", { "syntaxType": "bar" }]], + "tokens": true +} diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json new file mode 100644 index 000000000000..aa4107f0b477 --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json @@ -0,0 +1,70 @@ +{ + "type": "File", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "program": { + "type": "Program", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "expression": { + "type": "TupleExpression", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}}, + "elements": [] + } + } + ], + "directives": [] + }, + "tokens": [ + { + "type": { + "label": "[|", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":0,"end":2,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":2}} + }, + { + "type": { + "label": "|]", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "|]", + "start":2,"end":4,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":4}} + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start":4,"end":4,"loc":{"start":{"line":1,"column":4},"end":{"line":1,"column":4}} + } + ] +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/input.js b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/input.js new file mode 100644 index 000000000000..0fbee2942b3d --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/input.js @@ -0,0 +1 @@ +#[] diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/options.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/options.json new file mode 100644 index 000000000000..330c1681f890 --- /dev/null +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/options.json @@ -0,0 +1,4 @@ +{ + "plugins": [[ "recordAndTuple", { "syntaxType": "hash" }]], + "tokens": true +} diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/output.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/output.json similarity index 54% rename from packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/output.json rename to packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/output.json index 253e706dc59f..905fba8dd671 100644 --- a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/tokens-location/output.json +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-hash/output.json @@ -1,27 +1,18 @@ { "type": "File", - "start":0,"end":7,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":3}}, + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, "program": { "type": "Program", - "start":0,"end":7,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":3}}, + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, "sourceType": "script", "interpreter": null, "body": [ { "type": "ExpressionStatement", "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, - "expression": { - "type": "RecordExpression", - "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, - "properties": [] - } - }, - { - "type": "ExpressionStatement", - "start":4,"end":7,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":3}}, "expression": { "type": "TupleExpression", - "start":4,"end":7,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":3}}, + "start":0,"end":3,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}}, "elements": [] } } @@ -29,34 +20,6 @@ "directives": [] }, "tokens": [ - { - "type": { - "label": "#{", - "beforeExpr": true, - "startsExpr": true, - "rightAssociative": false, - "isLoop": false, - "isAssign": false, - "prefix": false, - "postfix": false, - "binop": null - }, - "start":0,"end":2,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":2}} - }, - { - "type": { - "label": "}", - "beforeExpr": false, - "startsExpr": false, - "rightAssociative": false, - "isLoop": false, - "isAssign": false, - "prefix": false, - "postfix": false, - "binop": null - }, - "start":2,"end":3,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":3}} - }, { "type": { "label": "#[", @@ -70,7 +33,7 @@ "binop": null, "updateContext": null }, - "start":4,"end":6,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":2}} + "start":0,"end":2,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":2}} }, { "type": { @@ -85,7 +48,7 @@ "binop": null, "updateContext": null }, - "start":6,"end":7,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":3}} + "start":2,"end":3,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":3}} }, { "type": { @@ -100,7 +63,7 @@ "binop": null, "updateContext": null }, - "start":7,"end":7,"loc":{"start":{"line":2,"column":3},"end":{"line":2,"column":3}} + "start":3,"end":3,"loc":{"start":{"line":1,"column":3},"end":{"line":1,"column":3}} } ] } \ No newline at end of file From 3d15e07cc13492c4e28946faa1abd97aa6c9385a Mon Sep 17 00:00:00 2001 From: Federico Ciardi Date: Tue, 8 Jun 2021 23:34:19 +0200 Subject: [PATCH 3/3] fix: don't parse record and tuple pipe closing tokens as operators --- packages/babel-parser/src/tokenizer/index.js | 8 ++++---- .../tokens/record-and-tuple/brace-bar/output.json | 1 - .../tokens/record-and-tuple/bracket-bar/output.json | 1 - 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/babel-parser/src/tokenizer/index.js b/packages/babel-parser/src/tokenizer/index.js index 2bc1505a6f29..f06a2e277205 100644 --- a/packages/babel-parser/src/tokenizer/index.js +++ b/packages/babel-parser/src/tokenizer/index.js @@ -615,8 +615,8 @@ export default class Tokenizer extends ParserErrors { Errors.RecordExpressionBarIncorrectEndSyntaxType, ); } - - this.finishOp(tt.braceBarR, 2); + this.state.pos += 2; + this.finishToken(tt.braceBarR); return; } @@ -631,8 +631,8 @@ export default class Tokenizer extends ParserErrors { Errors.TupleExpressionBarIncorrectEndSyntaxType, ); } - - this.finishOp(tt.bracketBarR, 2); + this.state.pos += 2; + this.finishToken(tt.bracketBarR); return; } } diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json index e66291872a16..5c942aef4693 100644 --- a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/brace-bar/output.json @@ -48,7 +48,6 @@ "binop": null, "updateContext": null }, - "value": "|}", "start":2,"end":4,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":4}} }, { diff --git a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json index aa4107f0b477..4e4217e90f6d 100644 --- a/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json +++ b/packages/babel-parser/test/fixtures/tokens/record-and-tuple/bracket-bar/output.json @@ -48,7 +48,6 @@ "binop": null, "updateContext": null }, - "value": "|]", "start":2,"end":4,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":4}} }, {