From e6ea4820fd4a6139b0623219f0737dfc89d4ae85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Thu, 9 Jun 2022 00:23:09 +0200 Subject: [PATCH] Add test for #14613 --- .../input.ts | 2 + .../output.json | 93 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/input.ts create mode 100644 packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/output.json diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/input.ts b/packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/input.ts new file mode 100644 index 000000000000..33daac08b743 --- /dev/null +++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/input.ts @@ -0,0 +1,2 @@ +a?.b; +a?.b(); diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/output.json b/packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/output.json new file mode 100644 index 000000000000..b328c7903ed5 --- /dev/null +++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/instantiation-expression-optional-chain/output.json @@ -0,0 +1,93 @@ +{ + "type": "File", + "start":0,"end":19,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":2,"column":10,"index":19}}, + "program": { + "type": "Program", + "start":0,"end":19,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":2,"column":10,"index":19}}, + "sourceType": "module", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":8,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":8,"index":8}}, + "expression": { + "type": "TSInstantiationExpression", + "start":0,"end":7,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":7,"index":7}}, + "expression": { + "type": "OptionalMemberExpression", + "start":0,"end":4,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":4,"index":4}}, + "object": { + "type": "Identifier", + "start":0,"end":1,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":1,"index":1},"identifierName":"a"}, + "name": "a" + }, + "computed": false, + "property": { + "type": "Identifier", + "start":3,"end":4,"loc":{"start":{"line":1,"column":3,"index":3},"end":{"line":1,"column":4,"index":4},"identifierName":"b"}, + "name": "b" + }, + "optional": true + }, + "typeParameters": { + "type": "TSTypeParameterInstantiation", + "start":4,"end":7,"loc":{"start":{"line":1,"column":4,"index":4},"end":{"line":1,"column":7,"index":7}}, + "params": [ + { + "type": "TSTypeReference", + "start":5,"end":6,"loc":{"start":{"line":1,"column":5,"index":5},"end":{"line":1,"column":6,"index":6}}, + "typeName": { + "type": "Identifier", + "start":5,"end":6,"loc":{"start":{"line":1,"column":5,"index":5},"end":{"line":1,"column":6,"index":6},"identifierName":"c"}, + "name": "c" + } + } + ] + } + } + }, + { + "type": "ExpressionStatement", + "start":9,"end":19,"loc":{"start":{"line":2,"column":0,"index":9},"end":{"line":2,"column":10,"index":19}}, + "expression": { + "type": "OptionalCallExpression", + "start":9,"end":18,"loc":{"start":{"line":2,"column":0,"index":9},"end":{"line":2,"column":9,"index":18}}, + "callee": { + "type": "OptionalMemberExpression", + "start":9,"end":13,"loc":{"start":{"line":2,"column":0,"index":9},"end":{"line":2,"column":4,"index":13}}, + "object": { + "type": "Identifier", + "start":9,"end":10,"loc":{"start":{"line":2,"column":0,"index":9},"end":{"line":2,"column":1,"index":10},"identifierName":"a"}, + "name": "a" + }, + "computed": false, + "property": { + "type": "Identifier", + "start":12,"end":13,"loc":{"start":{"line":2,"column":3,"index":12},"end":{"line":2,"column":4,"index":13},"identifierName":"b"}, + "name": "b" + }, + "optional": true + }, + "arguments": [], + "typeParameters": { + "type": "TSTypeParameterInstantiation", + "start":13,"end":16,"loc":{"start":{"line":2,"column":4,"index":13},"end":{"line":2,"column":7,"index":16}}, + "params": [ + { + "type": "TSTypeReference", + "start":14,"end":15,"loc":{"start":{"line":2,"column":5,"index":14},"end":{"line":2,"column":6,"index":15}}, + "typeName": { + "type": "Identifier", + "start":14,"end":15,"loc":{"start":{"line":2,"column":5,"index":14},"end":{"line":2,"column":6,"index":15},"identifierName":"c"}, + "name": "c" + } + } + ] + }, + "optional": false + } + } + ], + "directives": [] + } +}