-
-
- );
- }
-});
-
-module.exports = MyComponent;
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.config.js b/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.config.js
deleted file mode 100644
index 0ac8d10..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = {
- jsx: true,
- templateStrings: true
-};
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.result.js b/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.result.js
deleted file mode 100644
index 26dbb21..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.result.js
+++ /dev/null
@@ -1,560 +0,0 @@
-module.exports = {
- "type": "Program",
- "body": [
- {
- "type": "ExpressionStatement",
- "expression": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "a",
- "range": [
- 1,
- 2
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- }
- },
- "selfClosing": false,
- "attributes": [],
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "a",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- "children": [
- {
- "type": "JSXExpressionContainer",
- "expression": {
- "type": "TemplateLiteral",
- "quasis": [
- {
- "type": "TemplateElement",
- "value": {
- "raw": "",
- "cooked": ""
- },
- "tail": false,
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "TemplateElement",
- "value": {
- "raw": "",
- "cooked": ""
- },
- "tail": true,
- "range": [
- 8,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- }
- ],
- "expressions": [
- {
- "type": "Literal",
- "value": 1,
- "raw": "1",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- }
- ],
- "range": [
- 4,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- "range": [
- 3,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "JSXExpressionContainer",
- "expression": {
- "type": "TemplateLiteral",
- "quasis": [
- {
- "type": "TemplateElement",
- "value": {
- "raw": "",
- "cooked": ""
- },
- "tail": true,
- "range": [
- 12,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- }
- ],
- "expressions": [],
- "range": [
- 12,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- "range": [
- 11,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- }
- ],
- "range": [
- 0,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- "range": [
- 0,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- }
- ],
- "sourceType": "script",
- "range": [
- 0,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "range": [
- 1,
- 2
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 2,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 3,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Template",
- "value": "`${",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Numeric",
- "value": "1",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Template",
- "value": "}`",
- "range": [
- 8,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Template",
- "value": "``",
- "range": [
- 12,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.src.js b/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.src.js
deleted file mode 100644
index e8f0a60..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx-multi.src.js
+++ /dev/null
@@ -1 +0,0 @@
-
{`${1}`}{``}
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.config.js b/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.config.js
deleted file mode 100644
index 0ac8d10..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = {
- jsx: true,
- templateStrings: true
-};
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.result.js b/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.result.js
deleted file mode 100644
index 7293ee2..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.result.js
+++ /dev/null
@@ -1,429 +0,0 @@
-module.exports = {
- "type": "Program",
- "body": [
- {
- "type": "ExpressionStatement",
- "expression": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "foo",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- "selfClosing": true,
- "attributes": [
- {
- "type": "JSXAttribute",
- "name": {
- "type": "JSXIdentifier",
- "name": "bar",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- "value": {
- "type": "JSXExpressionContainer",
- "expression": {
- "type": "TemplateLiteral",
- "quasis": [
- {
- "type": "TemplateElement",
- "value": {
- "raw": "",
- "cooked": ""
- },
- "tail": false,
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "TemplateElement",
- "value": {
- "raw": "",
- "cooked": ""
- },
- "tail": true,
- "range": [
- 16,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- }
- ],
- "expressions": [
- {
- "type": "Identifier",
- "name": "baz",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- }
- ],
- "range": [
- 10,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- "range": [
- 9,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- "range": [
- 5,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- }
- ],
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- "closingElement": null,
- "children": [],
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- }
- ],
- "sourceType": "script",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "foo",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "bar",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Template",
- "value": "`${",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Template",
- "value": "}`",
- "range": [
- 16,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.src.js b/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.src.js
deleted file mode 100644
index e3edcd3..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-jsx/template-strings-in-jsx.src.js
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.config.js b/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.config.js
deleted file mode 100644
index 34cf505..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = {
- unicodeCodePointEscapes: true,
- templateStrings: true
-};
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.result.js b/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.result.js
deleted file mode 100644
index 93d224c..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.result.js
+++ /dev/null
@@ -1,209 +0,0 @@
-module.exports = {
- "type": "Program",
- "body": [
- {
- "type": "VariableDeclaration",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "name": "ts",
- "range": [
- 4,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- "init": {
- "type": "TemplateLiteral",
- "quasis": [
- {
- "type": "TemplateElement",
- "value": {
- "raw": "\\\\u{000042}\\\\u0042\\\\x42\\\\u0\\\\102\\\\A",
- "cooked": "\\u{000042}\\u0042\\x42\\u0\\102\\A"
- },
- "tail": true,
- "range": [
- 9,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- }
- ],
- "expressions": [],
- "range": [
- 9,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- "range": [
- 4,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- }
- ],
- "kind": "var",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- }
- ],
- "sourceType": "script",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "ts",
- "range": [
- 4,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Template",
- "value": "`\\\\u{000042}\\\\u0042\\\\x42\\\\u0\\\\102\\\\A`",
- "range": [
- 9,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.src.js b/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.src.js
deleted file mode 100644
index 165980e..0000000
--- a/tests/fixtures/ecma-features-mix/templateStrings-and-unicodeCodePointEscapes/template-strings-unicode-escape.src.js
+++ /dev/null
@@ -1 +0,0 @@
-var ts = `\\u{000042}\\u0042\\x42\\u0\\102\\A`;
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/as-param-with-params.result.js b/tests/fixtures/ecma-features/arrowFunctions/as-param-with-params.result.js
deleted file mode 100644
index 347fc61..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/as-param-with-params.result.js
+++ /dev/null
@@ -1,369 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "name": "foo"
- },
- "arguments": [
- {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "y"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ],
- "body": []
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 11,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/as-param.result.js b/tests/fixtures/ecma-features/arrowFunctions/as-param.result.js
deleted file mode 100644
index d155574..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/as-param.result.js
+++ /dev/null
@@ -1,278 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "name": "foo"
- },
- "arguments": [
- {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ],
- "body": []
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/basic.result.js b/tests/fixtures/ecma-features/arrowFunctions/basic.result.js
deleted file mode 100644
index 70ee8b3..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/basic.result.js
+++ /dev/null
@@ -1,170 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 6,
- 12
- ],
- "value": "test",
- "raw": "\"test\""
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 3,
- 5
- ]
- },
- {
- "type": "String",
- "value": "\"test\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 6,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/block-body-not-object.result.js b/tests/fixtures/ecma-features/arrowFunctions/block-body-not-object.result.js
deleted file mode 100644
index 902c675..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/block-body-not-object.result.js
+++ /dev/null
@@ -1,314 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "e"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 5,
- 18
- ],
- "body": [
- {
- "type": "LabeledStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 7,
- 16
- ],
- "body": {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ],
- "value": 42,
- "raw": "42"
- }
- },
- "label": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 7,
- 12
- ],
- "name": "label"
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "e",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 2,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "label",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 7,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/block-body.result.js b/tests/fixtures/ecma-features/arrowFunctions/block-body.result.js
deleted file mode 100644
index 7848b1a..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/block-body.result.js
+++ /dev/null
@@ -1,261 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "e"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 5,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ],
- "value": 42,
- "raw": "42"
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "e",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 2,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-dup-params.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-dup-params.result.js
deleted file mode 100644
index 5d4b9d8..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-dup-params.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Argument name clash"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-missing-paren.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-missing-paren.result.js
deleted file mode 100644
index 310984a..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-missing-paren.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Unexpected token ("
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-not-arrow.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-not-arrow.result.js
deleted file mode 100644
index 9b47c56..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-not-arrow.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 26,
- "lineNumber": 1,
- "column": 27,
- "message": "Unexpected token )"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-numeric-param-multi.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-numeric-param-multi.result.js
deleted file mode 100644
index fc83515..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-numeric-param-multi.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Assigning to rvalue"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-numeric-param.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-numeric-param.result.js
deleted file mode 100644
index fc83515..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-numeric-param.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Assigning to rvalue"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-reverse-arrow.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-reverse-arrow.result.js
deleted file mode 100644
index 90dd78a..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-reverse-arrow.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Unexpected token )"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-default-param-eval.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-default-param-eval.result.js
deleted file mode 100644
index 431716c..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-default-param-eval.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Assigning to eval in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-dup-params.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-dup-params.result.js
deleted file mode 100644
index c3f08bb..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-dup-params.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 18,
- "lineNumber": 1,
- "column": 19,
- "message": "Argument name clash"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-eval-return.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-eval-return.result.js
deleted file mode 100644
index d7e7dda..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-eval-return.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Binding eval in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-eval.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-eval.result.js
deleted file mode 100644
index f542ae3..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-eval.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Binding eval in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-octal.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-octal.result.js
deleted file mode 100644
index 6eedac5..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-octal.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 21,
- "lineNumber": 1,
- "column": 22,
- "message": "Invalid number"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-arguments.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-arguments.result.js
deleted file mode 100644
index 875b747..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-arguments.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Binding arguments in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-eval.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-eval.result.js
deleted file mode 100644
index d7e7dda..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-eval.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Binding eval in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-names.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-names.result.js
deleted file mode 100644
index d7e7dda..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-names.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Binding eval in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-no-paren-arguments.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-no-paren-arguments.result.js
deleted file mode 100644
index bbdeb9a..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-no-paren-arguments.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 14,
- "lineNumber": 1,
- "column": 15,
- "message": "Binding arguments in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-no-paren-eval.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-no-paren-eval.result.js
deleted file mode 100644
index 1d1998f..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-strict-param-no-paren-eval.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 14,
- "lineNumber": 1,
- "column": 15,
- "message": "Binding eval in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-two-lines.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-two-lines.result.js
deleted file mode 100644
index a74418b..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-two-lines.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 9,
- "lineNumber": 1,
- "column": 10,
- "message": "Unexpected token )"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/error-wrapped-param.result.js b/tests/fixtures/ecma-features/arrowFunctions/error-wrapped-param.result.js
deleted file mode 100644
index dce37a9..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/error-wrapped-param.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Unexpected token ("
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/arrowFunctions/expression.result.js b/tests/fixtures/ecma-features/arrowFunctions/expression.result.js
deleted file mode 100644
index 8014aab..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/expression.result.js
+++ /dev/null
@@ -1,206 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 1,
- 7
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "x"
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 3,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/iife.result.js b/tests/fixtures/ecma-features/arrowFunctions/iife.result.js
deleted file mode 100644
index 0cdd0ed..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/iife.result.js
+++ /dev/null
@@ -1,337 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "e"
- }
- ],
- "body": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 6,
- 22
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 8,
- 20
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 8,
- 16
- ],
- "name": "property"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ],
- "value": 42,
- "raw": "42"
- },
- "kind": "init"
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "e",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 2,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "property",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 8,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/multiple-params.result.js b/tests/fixtures/ecma-features/arrowFunctions/multiple-params.result.js
deleted file mode 100644
index 788bb5d..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/multiple-params.result.js
+++ /dev/null
@@ -1,261 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "b"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "value": "test",
- "raw": "\"test\""
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "String",
- "value": "\"test\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/no-auto-return.result.js b/tests/fixtures/ecma-features/arrowFunctions/no-auto-return.result.js
deleted file mode 100644
index e67c7e4..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/no-auto-return.result.js
+++ /dev/null
@@ -1,351 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "b"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 10,
- 17
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ],
- "value": 42,
- "raw": "42"
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/not-strict-arguments.result.js b/tests/fixtures/ecma-features/arrowFunctions/not-strict-arguments.result.js
deleted file mode 100644
index 4e51fd3..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/not-strict-arguments.result.js
+++ /dev/null
@@ -1,171 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "name": "arguments"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ],
- "value": 42,
- "raw": "42"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "arguments",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/not-strict-eval-params.result.js b/tests/fixtures/ecma-features/arrowFunctions/not-strict-eval-params.result.js
deleted file mode 100644
index 78deb4f..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/not-strict-eval-params.result.js
+++ /dev/null
@@ -1,261 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 1,
- 5
- ],
- "name": "eval"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ],
- "value": 42,
- "raw": "42"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "eval",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 1,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/not-strict-eval.result.js b/tests/fixtures/ecma-features/arrowFunctions/not-strict-eval.result.js
deleted file mode 100644
index 7060aea..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/not-strict-eval.result.js
+++ /dev/null
@@ -1,171 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ],
- "name": "eval"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 8,
- 10
- ],
- "value": 42,
- "raw": "42"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "eval",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 5,
- 7
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 8,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/not-strict-octal.result.js b/tests/fixtures/ecma-features/arrowFunctions/not-strict-octal.result.js
deleted file mode 100644
index 3a8c648..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/not-strict-octal.result.js
+++ /dev/null
@@ -1,207 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ],
- "value": 0,
- "raw": "00"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 4,
- 6
- ]
- },
- {
- "type": "Numeric",
- "value": "00",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/return-arrow-function.result.js b/tests/fixtures/ecma-features/arrowFunctions/return-arrow-function.result.js
deleted file mode 100644
index 7353434..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/return-arrow-function.result.js
+++ /dev/null
@@ -1,248 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- }
- ],
- "body": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 5,
- 12
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "y"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ],
- "value": 42,
- "raw": "42"
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 2,
- 4
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/return-sequence.result.js b/tests/fixtures/ecma-features/arrowFunctions/return-sequence.result.js
deleted file mode 100644
index ff147bd..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/return-sequence.result.js
+++ /dev/null
@@ -1,572 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "x"
- }
- ],
- "body": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 8,
- 27
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "y"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "z"
- }
- ],
- "body": {
- "type": "SequenceExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 19,
- 26
- ],
- "expressions": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "x"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "name": "y"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "name": "z"
- }
- ]
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 4,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/single-param-parens.result.js b/tests/fixtures/ecma-features/arrowFunctions/single-param-parens.result.js
deleted file mode 100644
index 2b3ebf0..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/single-param-parens.result.js
+++ /dev/null
@@ -1,207 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "e"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 7,
- 13
- ],
- "value": "test",
- "raw": "\"test\""
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "e",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 4,
- 6
- ]
- },
- {
- "type": "String",
- "value": "\"test\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 7,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/single-param-return-identifier.result.js b/tests/fixtures/ecma-features/arrowFunctions/single-param-return-identifier.result.js
deleted file mode 100644
index 202b779..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/single-param-return-identifier.result.js
+++ /dev/null
@@ -1,206 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "sun"
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "name": "earth"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "sun",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "earth",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/arrowFunctions/single-param.result.js b/tests/fixtures/ecma-features/arrowFunctions/single-param.result.js
deleted file mode 100644
index 390c795..0000000
--- a/tests/fixtures/ecma-features/arrowFunctions/single-param.result.js
+++ /dev/null
@@ -1,171 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "e"
- }
- ],
- "body": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "value": "test",
- "raw": "\"test\""
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "e",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 2,
- 4
- ]
- },
- {
- "type": "String",
- "value": "\"test\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/binaryLiterals/invalid.result.js b/tests/fixtures/ecma-features/binaryLiterals/invalid.result.js
deleted file mode 100644
index 7790809..0000000
--- a/tests/fixtures/ecma-features/binaryLiterals/invalid.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Unexpected token 2"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/binaryLiterals/lowercase.result.js b/tests/fixtures/ecma-features/binaryLiterals/lowercase.result.js
deleted file mode 100644
index 88fde0b..0000000
--- a/tests/fixtures/ecma-features/binaryLiterals/lowercase.result.js
+++ /dev/null
@@ -1,94 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "value": 5,
- "raw": "0b101"
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Numeric",
- "value": "0b101",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/binaryLiterals/uppercase.result.js b/tests/fixtures/ecma-features/binaryLiterals/uppercase.result.js
deleted file mode 100644
index 257a1d0..0000000
--- a/tests/fixtures/ecma-features/binaryLiterals/uppercase.result.js
+++ /dev/null
@@ -1,94 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "value": 5,
- "raw": "0B101"
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Numeric",
- "value": "0B101",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/blockBindings/const.result.js b/tests/fixtures/ecma-features/blockBindings/const.result.js
deleted file mode 100644
index b32ab6c..0000000
--- a/tests/fixtures/ecma-features/blockBindings/const.result.js
+++ /dev/null
@@ -1,185 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 6,
- 15
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ],
- "name": "foo"
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ],
- "name": "bar"
- }
- }
- ],
- "kind": "const"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "const",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/blockBindings/let-in-switchcase.result.js b/tests/fixtures/ecma-features/blockBindings/let-in-switchcase.result.js
deleted file mode 100644
index cf99908..0000000
--- a/tests/fixtures/ecma-features/blockBindings/let-in-switchcase.result.js
+++ /dev/null
@@ -1,477 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 0,
- 47
- ],
- "body": [
- {
- "type": "SwitchStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 0,
- 47
- ],
- "discriminant": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 8,
- 14
- ],
- "name": "answer"
- },
- "cases": [
- {
- "type": "SwitchCase",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 18,
- 45
- ],
- "consequent": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 27,
- 38
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 31,
- 37
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ],
- "name": "t"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 35,
- 37
- ],
- "value": 42,
- "raw": "42"
- }
- }
- ],
- "kind": "let"
- },
- {
- "type": "BreakStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 39,
- 45
- ],
- "label": null
- }
- ],
- "test": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ],
- "value": 42,
- "raw": "42"
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "switch",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "answer",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 8,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Keyword",
- "value": "case",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 18,
- 22
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Keyword",
- "value": "let",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 27,
- 30
- ]
- },
- {
- "type": "Identifier",
- "value": "t",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 35,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "Keyword",
- "value": "break",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 39,
- 44
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 44,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 46,
- 47
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/blockBindings/let.result.js b/tests/fixtures/ecma-features/blockBindings/let.result.js
deleted file mode 100644
index 1f25b12..0000000
--- a/tests/fixtures/ecma-features/blockBindings/let.result.js
+++ /dev/null
@@ -1,185 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 4,
- 13
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 10,
- 13
- ],
- "name": "bar"
- }
- }
- ],
- "kind": "let"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "let",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 10,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/classes/class-accessor-properties.result.js b/tests/fixtures/ecma-features/classes/class-accessor-properties.result.js
deleted file mode 100644
index 9e2247d..0000000
--- a/tests/fixtures/ecma-features/classes/class-accessor-properties.result.js
+++ /dev/null
@@ -1,618 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 16,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "body": []
- },
- "range": [
- 14,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "get",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 19,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "b"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 27,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "body": []
- },
- "range": [
- 24,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "c",
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "set",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "get",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "set",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "c",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-computed-static-method.result.js b/tests/fixtures/ecma-features/classes/class-computed-static-method.result.js
deleted file mode 100644
index 300d28a..0000000
--- a/tests/fixtures/ecma-features/classes/class-computed-static-method.result.js
+++ /dev/null
@@ -1,428 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 21,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "body": []
- },
- "range": [
- 19,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "params": []
- },
- "computed": true,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-expression.result.js b/tests/fixtures/ecma-features/classes/class-expression.result.js
deleted file mode 100644
index 80b759f..0000000
--- a/tests/fixtures/ecma-features/classes/class-expression.result.js
+++ /dev/null
@@ -1,186 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "expression": {
- "type": "ClassExpression",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ],
- "id": null,
- "superClass": null,
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 1,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-method-named-prototype.result.js b/tests/fixtures/ecma-features/classes/class-method-named-prototype.result.js
deleted file mode 100644
index 28b55ce..0000000
--- a/tests/fixtures/ecma-features/classes/class-method-named-prototype.result.js
+++ /dev/null
@@ -1,356 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 9,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "prototype"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 20,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "body": []
- },
- "range": [
- 18,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "prototype",
- "range": [
- 9,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-method-named-static.result.js b/tests/fixtures/ecma-features/classes/class-method-named-static.result.js
deleted file mode 100644
index b0aa183..0000000
--- a/tests/fixtures/ecma-features/classes/class-method-named-static.result.js
+++ /dev/null
@@ -1,374 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "static"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 17,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "body": []
- },
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-method-named-with-space.result.js b/tests/fixtures/ecma-features/classes/class-method-named-with-space.result.js
deleted file mode 100644
index ff88f1a..0000000
--- a/tests/fixtures/ecma-features/classes/class-method-named-with-space.result.js
+++ /dev/null
@@ -1,321 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 9,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "withSpace"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 22,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "body": []
- },
- "range": [
- 19,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "withSpace",
- "range": [
- 9,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-one-method-super.result.js b/tests/fixtures/ecma-features/classes/class-one-method-super.result.js
deleted file mode 100644
index 19c9b6f..0000000
--- a/tests/fixtures/ecma-features/classes/class-one-method-super.result.js
+++ /dev/null
@@ -1,481 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 17,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 27,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 27,
- 34
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "callee": {
- "type": "Super",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- "arguments": []
- }
- }
- ]
- },
- "range": [
- 15,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "super",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-one-method.result.js b/tests/fixtures/ecma-features/classes/class-one-method.result.js
deleted file mode 100644
index 92dd955..0000000
--- a/tests/fixtures/ecma-features/classes/class-one-method.result.js
+++ /dev/null
@@ -1,356 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 17,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "body": []
- },
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-static-method-named-prototype.result.js b/tests/fixtures/ecma-features/classes/class-static-method-named-prototype.result.js
deleted file mode 100644
index 71c48ae..0000000
--- a/tests/fixtures/ecma-features/classes/class-static-method-named-prototype.result.js
+++ /dev/null
@@ -1,411 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "key": {
- "type": "Literal",
- "range": [
- 17,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "value": "prototype",
- "raw": "\"prototype\""
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 31,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "body": []
- },
- "range": [
- 29,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "params": []
- },
- "computed": true,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "String",
- "value": "\"prototype\"",
- "range": [
- 17,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-static-method-named-static.result.js b/tests/fixtures/ecma-features/classes/class-static-method-named-static.result.js
deleted file mode 100644
index 612ea03..0000000
--- a/tests/fixtures/ecma-features/classes/class-static-method-named-static.result.js
+++ /dev/null
@@ -1,392 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 16,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "static"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 24,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "body": []
- },
- "range": [
- 22,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "params": []
- },
- "computed": false,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 16,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-static-method.result.js b/tests/fixtures/ecma-features/classes/class-static-method.result.js
deleted file mode 100644
index 12ce22f..0000000
--- a/tests/fixtures/ecma-features/classes/class-static-method.result.js
+++ /dev/null
@@ -1,392 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 19,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "body": []
- },
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "params": []
- },
- "computed": false,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-static-methods-and-accessor-properties.result.js b/tests/fixtures/ecma-features/classes/class-static-methods-and-accessor-properties.result.js
deleted file mode 100644
index 28b4cff..0000000
--- a/tests/fixtures/ecma-features/classes/class-static-methods-and-accessor-properties.result.js
+++ /dev/null
@@ -1,824 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 59
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 59
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 58
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 58
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 19,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "body": []
- },
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "params": []
- },
- "computed": false,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 22,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 36,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "body": []
- },
- "range": [
- 34,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "params": []
- },
- "computed": false,
- "static": true,
- "kind": "get",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 39,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 56
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 51
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 54,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 54
- },
- "end": {
- "line": 1,
- "column": 56
- }
- },
- "body": []
- },
- "range": [
- 51,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 56
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "name": "b",
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": true,
- "kind": "set",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 58
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 58
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 58
- },
- "end": {
- "line": 1,
- "column": 59
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 22,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "get",
- "range": [
- 29,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 39,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 45
- }
- }
- },
- {
- "type": "Identifier",
- "value": "set",
- "range": [
- 46,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 49
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 51
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 52
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 54
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 54,
- 55
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 54
- },
- "end": {
- "line": 1,
- "column": 55
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 55
- },
- "end": {
- "line": 1,
- "column": 56
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 57
- },
- "end": {
- "line": 1,
- "column": 58
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 58
- },
- "end": {
- "line": 1,
- "column": 59
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-two-computed-static-methods.result.js b/tests/fixtures/ecma-features/classes/class-two-computed-static-methods.result.js
deleted file mode 100644
index c3a0579..0000000
--- a/tests/fixtures/ecma-features/classes/class-two-computed-static-methods.result.js
+++ /dev/null
@@ -1,652 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 20,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "body": []
- },
- "range": [
- 18,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "params": []
- },
- "computed": true,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 24,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "name": "b"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 35,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "body": []
- },
- "range": [
- 33,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "params": []
- },
- "computed": true,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 24,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-two-methods-computed-constructor.result.js b/tests/fixtures/ecma-features/classes/class-two-methods-computed-constructor.result.js
deleted file mode 100644
index 498a863..0000000
--- a/tests/fixtures/ecma-features/classes/class-two-methods-computed-constructor.result.js
+++ /dev/null
@@ -1,564 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "key": {
- "type": "Literal",
- "range": [
- 9,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "value": "constructor",
- "raw": "\"constructor\""
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 24,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "body": []
- },
- "range": [
- 22,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "constructor",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 27,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "key": {
- "type": "Literal",
- "range": [
- 28,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "value": "constructor",
- "raw": "\"constructor\""
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 44,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "body": []
- },
- "range": [
- 42,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "params": []
- },
- "computed": true,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 48
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "String",
- "value": "\"constructor\"",
- "range": [
- 9,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "String",
- "value": "\"constructor\"",
- "range": [
- 28,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 43
- },
- "end": {
- "line": 1,
- "column": 44
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 48
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-two-methods-semi.result.js b/tests/fixtures/ecma-features/classes/class-two-methods-semi.result.js
deleted file mode 100644
index a0ceb3a..0000000
--- a/tests/fixtures/ecma-features/classes/class-two-methods-semi.result.js
+++ /dev/null
@@ -1,544 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 12,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "body": []
- },
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 15,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "b"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 18,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "body": []
- },
- "range": [
- 16,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-two-methods-three-semi.result.js b/tests/fixtures/ecma-features/classes/class-two-methods-three-semi.result.js
deleted file mode 100644
index 3969128..0000000
--- a/tests/fixtures/ecma-features/classes/class-two-methods-three-semi.result.js
+++ /dev/null
@@ -1,580 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 10,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 13,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "body": []
- },
- "range": [
- 11,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 16,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "b"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 19,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "body": []
- },
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-two-methods-two-semi.result.js b/tests/fixtures/ecma-features/classes/class-two-methods-two-semi.result.js
deleted file mode 100644
index c5209f8..0000000
--- a/tests/fixtures/ecma-features/classes/class-two-methods-two-semi.result.js
+++ /dev/null
@@ -1,562 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 12,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "body": []
- },
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 15,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "b"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 18,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "body": []
- },
- "range": [
- 16,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-two-methods.result.js b/tests/fixtures/ecma-features/classes/class-two-methods.result.js
deleted file mode 100644
index a02df36..0000000
--- a/tests/fixtures/ecma-features/classes/class-two-methods.result.js
+++ /dev/null
@@ -1,526 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "a"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 12,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "body": []
- },
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "b"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 17,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "body": []
- },
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-two-static-methods-named-constructor.result.js b/tests/fixtures/ecma-features/classes/class-two-static-methods-named-constructor.result.js
deleted file mode 100644
index e969325..0000000
--- a/tests/fixtures/ecma-features/classes/class-two-static-methods-named-constructor.result.js
+++ /dev/null
@@ -1,560 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 56
- }
- },
- "range": [
- 0,
- 56
- ],
- "body": [
- {
- "type": "ClassDeclaration",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 55
- }
- },
- "range": [
- 0,
- 55
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "A"
- },
- "superClass": null,
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 55
- }
- },
- "range": [
- 8,
- 55
- ],
- "body": [
- {
- "type": "MethodDefinition",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 9,
- 31
- ],
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 16,
- 27
- ],
- "name": "constructor"
- },
- "static": true,
- "accessibility": null,
- "kind": "method",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 27,
- 31
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 29,
- 31
- ],
- "body": []
- }
- }
- },
- {
- "type": "MethodDefinition",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 32,
- 54
- ],
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 50
- }
- },
- "range": [
- 39,
- 50
- ],
- "name": "constructor"
- },
- "accessibility": null,
- "static": true,
- "kind": "method",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 50,
- 54
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 52,
- 54
- ],
- "body": []
- }
- }
- }
- ]
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 55
- },
- "end": {
- "line": 1,
- "column": 56
- }
- },
- "range": [
- 55,
- 56
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Keyword",
- "value": "static",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 9,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 16,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Keyword",
- "value": "static",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 32,
- 38
- ]
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 50
- }
- },
- "range": [
- 39,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 51
- }
- },
- "range": [
- 50,
- 51
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 51,
- 52
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 52,
- 53
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 53,
- 54
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 54
- },
- "end": {
- "line": 1,
- "column": 55
- }
- },
- "range": [
- 54,
- 55
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 55
- },
- "end": {
- "line": 1,
- "column": 56
- }
- },
- "range": [
- 55,
- 56
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-with-constructor-parameters.result.js b/tests/fixtures/ecma-features/classes/class-with-constructor-parameters.result.js
deleted file mode 100644
index 0dea27c..0000000
--- a/tests/fixtures/ecma-features/classes/class-with-constructor-parameters.result.js
+++ /dev/null
@@ -1,413 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 9,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "foo",
- "decorators": []
- },
- {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "bar",
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 30,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "body": []
- },
- "range": [
- 20,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 8,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 9,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-with-constructor-with-space.result.js b/tests/fixtures/ecma-features/classes/class-with-constructor-with-space.result.js
deleted file mode 100644
index 1a39251..0000000
--- a/tests/fixtures/ecma-features/classes/class-with-constructor-with-space.result.js
+++ /dev/null
@@ -1,355 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 9,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 9,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 23,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "body": []
- },
- "range": [
- 21,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 8,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "EmptyStatement",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 9,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/class-with-constructor.result.js b/tests/fixtures/ecma-features/classes/class-with-constructor.result.js
deleted file mode 100644
index 42a2a8a..0000000
--- a/tests/fixtures/ecma-features/classes/class-with-constructor.result.js
+++ /dev/null
@@ -1,355 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "body": [
- {
- "type": "ClassDeclaration",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "A"
- },
- "superClass": null,
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 8,
- 25
- ],
- "body": [
- {
- "type": "MethodDefinition",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 9,
- 24
- ],
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 9,
- 20
- ],
- "name": "constructor"
- },
- "accessibility": null,
- "static": false,
- "kind": "constructor",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 20,
- 24
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ],
- "body": []
- }
- }
- }
- ]
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 9,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/derived-class-assign-to-var.result.js b/tests/fixtures/ecma-features/classes/derived-class-assign-to-var.result.js
deleted file mode 100644
index f0b4ffd..0000000
--- a/tests/fixtures/ecma-features/classes/derived-class-assign-to-var.result.js
+++ /dev/null
@@ -1,331 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 4,
- 27
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "ClassExpression",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 8,
- 27
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "A"
- },
- "superClass": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ],
- "value": 0,
- "raw": "0"
- },
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 25,
- 27
- ],
- "body": []
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 8,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Keyword",
- "value": "extends",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 16,
- 23
- ]
- },
- {
- "type": "Numeric",
- "value": "0",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/derived-class-expression.result.js b/tests/fixtures/ecma-features/classes/derived-class-expression.result.js
deleted file mode 100644
index 621b72c..0000000
--- a/tests/fixtures/ecma-features/classes/derived-class-expression.result.js
+++ /dev/null
@@ -1,240 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "expression": {
- "type": "ClassExpression",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 1,
- 18
- ],
- "id": null,
- "superClass": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "value": 0,
- "raw": "0"
- },
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 1,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "extends",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Numeric",
- "value": "0",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/empty-class-double-semi.result.js b/tests/fixtures/ecma-features/classes/empty-class-double-semi.result.js
deleted file mode 100644
index 9060a7e..0000000
--- a/tests/fixtures/ecma-features/classes/empty-class-double-semi.result.js
+++ /dev/null
@@ -1,185 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "body": [
- {
- "type": "ClassDeclaration",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "A"
- },
- "superClass": null,
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 8,
- 10
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/empty-class-semi.result.js b/tests/fixtures/ecma-features/classes/empty-class-semi.result.js
deleted file mode 100644
index 4373315..0000000
--- a/tests/fixtures/ecma-features/classes/empty-class-semi.result.js
+++ /dev/null
@@ -1,203 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ClassDeclaration",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "A"
- },
- "superClass": null,
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/empty-class.result.js b/tests/fixtures/ecma-features/classes/empty-class.result.js
deleted file mode 100644
index 9060a7e..0000000
--- a/tests/fixtures/ecma-features/classes/empty-class.result.js
+++ /dev/null
@@ -1,185 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "body": [
- {
- "type": "ClassDeclaration",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "A"
- },
- "superClass": null,
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 8,
- 10
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/empty-literal-derived-class.result.js b/tests/fixtures/ecma-features/classes/empty-literal-derived-class.result.js
deleted file mode 100644
index 3d7aac1..0000000
--- a/tests/fixtures/ecma-features/classes/empty-literal-derived-class.result.js
+++ /dev/null
@@ -1,239 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 0,
- 21
- ],
- "body": [
- {
- "type": "ClassDeclaration",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "A"
- },
- "superClass": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "value": 0,
- "raw": "0"
- },
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Keyword",
- "value": "extends",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 8,
- 15
- ]
- },
- {
- "type": "Numeric",
- "value": "0",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/invalid-class-declaration.result.js b/tests/fixtures/ecma-features/classes/invalid-class-declaration.result.js
deleted file mode 100644
index f29098c..0000000
--- a/tests/fixtures/ecma-features/classes/invalid-class-declaration.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 6,
- "lineNumber": 1,
- "column": 7,
- "message": "Unexpected token {"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/classes/invalid-class-setter-declaration.result.js b/tests/fixtures/ecma-features/classes/invalid-class-setter-declaration.result.js
deleted file mode 100644
index 89b2125..0000000
--- a/tests/fixtures/ecma-features/classes/invalid-class-setter-declaration.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 17,
- "lineNumber": 1,
- "column": 18,
- "message": "setter should have exactly one param"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/classes/named-class-expression.result.js b/tests/fixtures/ecma-features/classes/named-class-expression.result.js
deleted file mode 100644
index ce2fc38..0000000
--- a/tests/fixtures/ecma-features/classes/named-class-expression.result.js
+++ /dev/null
@@ -1,221 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "ClassExpression",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 1,
- 11
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "A"
- },
- "superClass": null,
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 1,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/classes/named-derived-class-expression.result.js b/tests/fixtures/ecma-features/classes/named-derived-class-expression.result.js
deleted file mode 100644
index 29ae196..0000000
--- a/tests/fixtures/ecma-features/classes/named-derived-class-expression.result.js
+++ /dev/null
@@ -1,275 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "expression": {
- "type": "ClassExpression",
- "decorators": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 1,
- 20
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "A"
- },
- "superClass": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "value": 0,
- "raw": "0"
- },
- "implements": [],
- "body": {
- "type": "ClassBody",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "class",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 1,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "A",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Keyword",
- "value": "extends",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 9,
- 16
- ]
- },
- {
- "type": "Numeric",
- "value": "0",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/defaultParams/class-constructor.result.js b/tests/fixtures/ecma-features/defaultParams/class-constructor.result.js
deleted file mode 100644
index 97b08ad..0000000
--- a/tests/fixtures/ecma-features/defaultParams/class-constructor.result.js
+++ /dev/null
@@ -1,430 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "AssignmentPattern",
- "range": [
- 26,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "name": "foo"
- },
- "right": {
- "type": "Literal",
- "range": [
- 30,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "value": "bar",
- "raw": "'bar'"
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 37,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 25,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 8,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "String",
- "value": "'bar'",
- "range": [
- 30,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/defaultParams/class-method.result.js b/tests/fixtures/ecma-features/defaultParams/class-method.result.js
deleted file mode 100644
index e3d75fe..0000000
--- a/tests/fixtures/ecma-features/defaultParams/class-method.result.js
+++ /dev/null
@@ -1,431 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 29,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 17,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "AssignmentPattern",
- "range": [
- 18,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "name": "bar"
- },
- "right": {
- "type": "Literal",
- "range": [
- 22,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "value": "baz",
- "raw": "'baz'"
- },
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "String",
- "value": "'baz'",
- "range": [
- 22,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/defaultParams/declaration.result.js b/tests/fixtures/ecma-features/defaultParams/declaration.result.js
deleted file mode 100644
index fbd99e0..0000000
--- a/tests/fixtures/ecma-features/defaultParams/declaration.result.js
+++ /dev/null
@@ -1,296 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "f"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 11,
- 16
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "a"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "value": 1,
- "raw": "1"
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ],
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/defaultParams/expression.result.js b/tests/fixtures/ecma-features/defaultParams/expression.result.js
deleted file mode 100644
index f6ab67a..0000000
--- a/tests/fixtures/ecma-features/defaultParams/expression.result.js
+++ /dev/null
@@ -1,350 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- },
- "right": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 4,
- 22
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 13,
- 18
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "value": 1,
- "raw": "1"
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 20,
- 22
- ],
- "body": []
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/defaultParams/method.result.js b/tests/fixtures/ecma-features/defaultParams/method.result.js
deleted file mode 100644
index c138b60..0000000
--- a/tests/fixtures/ecma-features/defaultParams/method.result.js
+++ /dev/null
@@ -1,480 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 4,
- 27
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 6,
- 25
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "f"
- },
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 9,
- 25
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 18,
- 21
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "a"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "value": 1,
- "raw": "1"
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ],
- "body": []
- }
- },
- "kind": "init"
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 9,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/defaultParams/not-all-params.result.js b/tests/fixtures/ecma-features/defaultParams/not-all-params.result.js
deleted file mode 100644
index f7885b2..0000000
--- a/tests/fixtures/ecma-features/defaultParams/not-all-params.result.js
+++ /dev/null
@@ -1,496 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 0,
- 36
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 0,
- 36
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 4,
- 35
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 10,
- 35
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "a"
- },
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 22,
- 28
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "name": "b"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 26,
- 28
- ],
- "value": 42,
- "raw": "42"
- }
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ],
- "name": "c"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 33,
- 35
- ],
- "body": []
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 10,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 26,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-array.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-array.result.js
deleted file mode 100644
index d546423..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-array.result.js
+++ /dev/null
@@ -1,261 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "y"
- }
- ]
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-array.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-array.result.js
deleted file mode 100644
index c75245c..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-array.result.js
+++ /dev/null
@@ -1,370 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "y"
- },
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "x"
- }
- ]
- }
- ]
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 11,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-object-named.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-object-named.result.js
deleted file mode 100644
index 380c7ec..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-object-named.result.js
+++ /dev/null
@@ -1,595 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 1,
- 21
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 2,
- 8
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 2,
- 5
- ],
- "name": "foo"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "y"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 10,
- 20
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "a"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 12,
- 20
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 13,
- 19
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "x"
- },
- "kind": "init"
- }
- ]
- },
- "kind": "init"
- }
- ]
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 2,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-object.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-object.result.js
deleted file mode 100644
index e195323..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-nested-object.result.js
+++ /dev/null
@@ -1,523 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 1,
- 11
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "y"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "y"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 5,
- 10
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "x"
- }
- }
- ]
- },
- "kind": "init"
- }
- ]
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-object.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-object.result.js
deleted file mode 100644
index 52e0075..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/arrow-param-object.result.js
+++ /dev/null
@@ -1,300 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "y"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "y"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-array.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-array.result.js
deleted file mode 100644
index 914227a..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-array.result.js
+++ /dev/null
@@ -1,315 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 2,
- 8
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ],
- "value": 10,
- "raw": "10"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 11,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-object-nested.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-object-nested.result.js
deleted file mode 100644
index e78410a..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-object-nested.result.js
+++ /dev/null
@@ -1,758 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 1,
- 24
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 2,
- 8
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 2,
- 8
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ],
- "value": 10,
- "raw": "10"
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 10,
- 23
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "y"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 13,
- 23
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 15,
- 21
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "z"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 15,
- 21
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "z"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 19,
- 21
- ],
- "value": 10,
- "raw": "10"
- }
- }
- }
- ]
- },
- "kind": "init"
- }
- ]
- }
- ],
- "body": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 29,
- 35
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ],
- "name": "x"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ],
- "name": "z"
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 19,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 26,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-object.result.js b/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-object.result.js
deleted file mode 100644
index 136e0c3..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-arrowFunctions/param-defaults-object.result.js
+++ /dev/null
@@ -1,354 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "expression": {
- "type": "ArrowFunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "id": null,
- "generator": false,
- "expression": true,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 2,
- 8
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 2,
- 8
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ],
- "value": 10,
- "raw": "10"
- }
- }
- }
- ]
- }
- ],
- "body": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 11,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-blockBindings/array-const-undefined.result.js b/tests/fixtures/ecma-features/destructuring-and-blockBindings/array-const-undefined.result.js
deleted file mode 100644
index 91f9310..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-blockBindings/array-const-undefined.result.js
+++ /dev/null
@@ -1,258 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 6,
- 14
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- }
- ]
- },
- "init": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ],
- "elements": []
- }
- }
- ],
- "kind": "const"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "const",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-blockBindings/array-let-undefined.result.js b/tests/fixtures/ecma-features/destructuring-and-blockBindings/array-let-undefined.result.js
deleted file mode 100644
index 6fd4ac7..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-blockBindings/array-let-undefined.result.js
+++ /dev/null
@@ -1,258 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- }
- ]
- },
- "init": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ],
- "elements": []
- }
- }
- ],
- "kind": "let"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "let",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-const-named.result.js b/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-const-named.result.js
deleted file mode 100644
index d927cb0..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-const-named.result.js
+++ /dev/null
@@ -1,333 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 6,
- 16
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 6,
- 11
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "b"
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ],
- "properties": []
- }
- }
- ],
- "kind": "const"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "const",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-const-undefined.result.js b/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-const-undefined.result.js
deleted file mode 100644
index b28b4f1..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-const-undefined.result.js
+++ /dev/null
@@ -1,297 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 6,
- 14
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- }
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ],
- "properties": []
- }
- }
- ],
- "kind": "const"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "const",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-let-named.result.js b/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-let-named.result.js
deleted file mode 100644
index 4409bcd..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-let-named.result.js
+++ /dev/null
@@ -1,333 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 4,
- 14
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 4,
- 9
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "b"
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ],
- "properties": []
- }
- }
- ],
- "kind": "let"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "let",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-let-undefined.result.js b/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-let-undefined.result.js
deleted file mode 100644
index 1b70558..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-blockBindings/object-let-undefined.result.js
+++ /dev/null
@@ -1,297 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- }
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ],
- "properties": []
- }
- }
- ],
- "kind": "let"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "let",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-array.result.js b/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-array.result.js
deleted file mode 100644
index 47a9f6b..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-array.result.js
+++ /dev/null
@@ -1,441 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "f"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 11,
- 20
- ],
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- }
- ]
- },
- "right": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 17,
- 20
- ],
- "elements": [
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "value": 1,
- "raw": "1"
- }
- ]
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object-short.result.js b/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object-short.result.js
deleted file mode 100644
index 648d9c7..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object-short.result.js
+++ /dev/null
@@ -1,650 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 1,
- 22
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 2,
- 21
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ],
- "name": "f"
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 3,
- 21
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 4,
- 17
- ],
- "left": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- }
- }
- ]
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 10,
- 17
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 11,
- 16
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "x"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ],
- "value": 10,
- "raw": "10"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 19,
- 21
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object-wrapped.result.js b/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object-wrapped.result.js
deleted file mode 100644
index f7e1f37..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object-wrapped.result.js
+++ /dev/null
@@ -1,141 +0,0 @@
-module.exports = {
- "type": "Program",
- "body": [
- {
- type: 'ExpressionStatement',
- expression: {
- type: 'ObjectExpression',
- properties: [{
- type: 'Property',
- key: {
- type: 'Identifier',
- name: 'f',
- range: [2, 3],
- loc: {
- start: { line: 1, column: 2 },
- end: { line: 1, column: 3 }
- }
- },
- value: {
- type: 'FunctionExpression',
- id: null,
- params: [{
- type: 'ObjectPattern',
- properties: [{
- type: 'Property',
- key: {
- type: 'Identifier',
- name: 'x',
- range: [15, 16],
- loc: {
- start: { line: 1, column: 15 },
- end: { line: 1, column: 16 }
- }
- },
- value: {
- type: 'Identifier',
- name: 'x',
- range: [15, 16],
- loc: {
- start: { line: 1, column: 15 },
- end: { line: 1, column: 16 }
- }
- },
- kind: 'init',
- method: false,
- shorthand: true,
- computed: false,
- range: [15, 16],
- loc: {
- start: { line: 1, column: 15 },
- end: { line: 1, column: 16 }
- }
- }],
- range: [14, 17],
- loc: {
- start: { line: 1, column: 14 },
- end: { line: 1, column: 17 }
- }
- }],
- defaults: [{
- type: 'ObjectExpression',
- properties: [{
- type: 'Property',
- key: {
- type: 'Identifier',
- name: 'x',
- range: [21, 22],
- loc: {
- start: { line: 1, column: 21 },
- end: { line: 1, column: 22 }
- }
- },
- value: {
- type: 'Literal',
- value: 10,
- raw: '10',
- range: [24, 26],
- loc: {
- start: { line: 1, column: 24 },
- end: { line: 1, column: 26 }
- }
- },
- kind: 'init',
- method: false,
- shorthand: false,
- computed: false,
- range: [21, 26],
- loc: {
- start: { line: 1, column: 21 },
- end: { line: 1, column: 26 }
- }
- }],
- range: [20, 27],
- loc: {
- start: { line: 1, column: 20 },
- end: { line: 1, column: 27 }
- }
- }],
- body: {
- type: 'BlockStatement',
- body: [],
- range: [29, 31],
- loc: {
- start: { line: 1, column: 29 },
- end: { line: 1, column: 31 }
- }
- },
- rest: null,
- generator: false,
- expression: false,
- async: false,
- range: [5, 31],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 31 }
- }
- },
- kind: 'init',
- method: false,
- shorthand: false,
- computed: false,
- range: [2, 31],
- loc: {
- start: { line: 1, column: 2 },
- end: { line: 1, column: 31 }
- }
- }],
- range: [1, 32],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 32 }
- }
- },
- range: [0, 33],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 33 }
- }
- }
- ]
-}
diff --git a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object.result.js b/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object.result.js
deleted file mode 100644
index be4e7ab..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-defaultParams/param-object.result.js
+++ /dev/null
@@ -1,592 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "f"
- },
- "right": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 4,
- 30
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 13,
- 26
- ],
- "left": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "x"
- }
- }
- ]
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 19,
- 26
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 20,
- 25
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "name": "x"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ],
- "value": 10,
- "raw": "10"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 28,
- 30
- ],
- "body": []
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-forOf/loop.result.js b/tests/fixtures/ecma-features/destructuring-and-forOf/loop.result.js
deleted file mode 100644
index af1e17a..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-forOf/loop.result.js
+++ /dev/null
@@ -1,273 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "ForOfStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "a"
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ],
- "name": "foo"
- },
- "body": {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "for",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "of",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/complex-destructured.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/complex-destructured.result.js
deleted file mode 100644
index 0e76969..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/complex-destructured.result.js
+++ /dev/null
@@ -1,496 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 0,
- 21
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 0,
- 21
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "elements": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "a"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "b"
- }
- }
- ]
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 11,
- 15
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "c"
- }
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "d"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "d",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/destructured-array-literal.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/destructured-array-literal.result.js
deleted file mode 100644
index 0a7da17..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/destructured-array-literal.result.js
+++ /dev/null
@@ -1,418 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 4,
- 13
- ],
- "argument": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 7,
- 13
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "b"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "c"
- }
- ]
- }
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "d"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "d",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/destructuring-param.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/destructuring-param.result.js
deleted file mode 100644
index 8b9c1f7..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/destructuring-param.result.js
+++ /dev/null
@@ -1,512 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 11,
- 26
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "a"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "b"
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 18,
- 25
- ],
- "argument": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 21,
- 25
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ],
- "name": "ok"
- }
- ]
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 28,
- 30
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 18,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "ok",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/error-complex-destructured-spread-first.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/error-complex-destructured-spread-first.result.js
deleted file mode 100644
index 5c1edf7..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/error-complex-destructured-spread-first.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Comma is not permitted after the rest element"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/invalid-not-final-array-empty.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/invalid-not-final-array-empty.result.js
deleted file mode 100644
index 5c1edf7..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/invalid-not-final-array-empty.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Comma is not permitted after the rest element"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/multi-destructured.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/multi-destructured.result.js
deleted file mode 100644
index e46fa0a..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/multi-destructured.result.js
+++ /dev/null
@@ -1,309 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 4,
- 8
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "b"
- }
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "c"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/not-final-array.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/not-final-array.result.js
deleted file mode 100644
index 5c1edf7..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/not-final-array.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Comma is not permitted after the rest element"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/single-destructured.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/single-destructured.result.js
deleted file mode 100644
index 8d4b931..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/single-destructured.result.js
+++ /dev/null
@@ -1,255 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "elements": [
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 1,
- 5
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "a"
- }
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "b"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/var-complex-destructured.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/var-complex-destructured.result.js
deleted file mode 100644
index 085d47f..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/var-complex-destructured.result.js
+++ /dev/null
@@ -1,516 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 4,
- 24
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 4,
- 20
- ],
- "elements": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 5,
- 13
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "b"
- }
- }
- ]
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 15,
- 19
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "c"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ],
- "name": "d"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "d",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/var-destructured-array-literal.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/var-destructured-array-literal.result.js
deleted file mode 100644
index 7610b6e..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/var-destructured-array-literal.result.js
+++ /dev/null
@@ -1,438 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 4,
- 22
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 4,
- 18
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 8,
- 17
- ],
- "argument": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 11,
- 17
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "b"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "c"
- }
- ]
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ],
- "name": "d"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Identifier",
- "value": "d",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/var-multi-destructured.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/var-multi-destructured.result.js
deleted file mode 100644
index bf92133..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/var-multi-destructured.result.js
+++ /dev/null
@@ -1,329 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 4,
- 17
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 4,
- 13
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 8,
- 12
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "b"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "c"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring-and-spread/var-single-destructured.result.js b/tests/fixtures/ecma-features/destructuring-and-spread/var-single-destructured.result.js
deleted file mode 100644
index cd58c3a..0000000
--- a/tests/fixtures/ecma-features/destructuring-and-spread/var-single-destructured.result.js
+++ /dev/null
@@ -1,275 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 4,
- 14
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 4,
- 10
- ],
- "elements": [
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 5,
- 9
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "a"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "b"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/array-member.result.js b/tests/fixtures/ecma-features/destructuring/array-member.result.js
deleted file mode 100644
index 52d6ad8..0000000
--- a/tests/fixtures/ecma-features/destructuring/array-member.result.js
+++ /dev/null
@@ -1,293 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "elements": [
- {
- "type": "MemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 1,
- 5
- ],
- "object": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 1,
- 3
- ],
- "name": "ok"
- },
- "property": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "v"
- },
- "computed": false
- }
- ]
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 20,
- "raw": "20"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "ok",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 1,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Identifier",
- "value": "v",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "20",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/array-to-array.result.js b/tests/fixtures/ecma-features/destructuring/array-to-array.result.js
deleted file mode 100644
index 38d81c2..0000000
--- a/tests/fixtures/ecma-features/destructuring/array-to-array.result.js
+++ /dev/null
@@ -1,383 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "b"
- }
- ]
- },
- "right": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 9,
- 15
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "b"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "a"
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/array-var-undefined.result.js b/tests/fixtures/ecma-features/destructuring/array-var-undefined.result.js
deleted file mode 100644
index a5a9465..0000000
--- a/tests/fixtures/ecma-features/destructuring/array-var-undefined.result.js
+++ /dev/null
@@ -1,258 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- }
- ]
- },
- "init": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ],
- "elements": []
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/class-constructor-params-array.result.js b/tests/fixtures/ecma-features/destructuring/class-constructor-params-array.result.js
deleted file mode 100644
index 8cacbe9..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-constructor-params-array.result.js
+++ /dev/null
@@ -1,468 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "name": "consturctor"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 38,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 25,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ArrayPattern",
- "range": [
- 26,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 26
- }
- },
- "elements": [
- {
- "type": "Identifier",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "name": "foo"
- },
- {
- "type": "Identifier",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "name": "bar"
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "consturctor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/class-constructor-params-defaults-array.result.js b/tests/fixtures/ecma-features/destructuring/class-constructor-params-defaults-array.result.js
deleted file mode 100644
index 8fb598a..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-constructor-params-defaults-array.result.js
+++ /dev/null
@@ -1,612 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "name": "consturctor"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 42,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 25,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ArrayPattern",
- "range": [
- 26,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 30
- }
- },
- "elements": [
- {
- "type": "AssignmentPattern",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "name": "foo"
- },
- "right": {
- "type": "Literal",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "value": 3,
- "raw": "3"
- }
- },
- {
- "type": "AssignmentPattern",
- "range": [
- 34,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 29
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 27
- }
- },
- "name": "bar"
- },
- "right": {
- "type": "Literal",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- },
- "value": 4,
- "raw": "4"
- }
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "consturctor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Numeric",
- "value": "3",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Numeric",
- "value": "4",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 30
- },
- "end": {
- "line": 2,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/class-constructor-params-defaults-object.result.js b/tests/fixtures/ecma-features/destructuring/class-constructor-params-defaults-object.result.js
deleted file mode 100644
index 12d9262..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-constructor-params-defaults-object.result.js
+++ /dev/null
@@ -1,690 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "name": "consturctor"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 42,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 25,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ObjectPattern",
- "range": [
- 26,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 30
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "AssignmentPattern",
- "left": {
- "type": "Identifier",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "name": "foo"
- },
- "right": {
- "type": "Literal",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "value": 3,
- "raw": "3"
- },
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- },
- {
- "type": "Property",
- "range": [
- 34,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 29
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 27
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "AssignmentPattern",
- "left": {
- "type": "Identifier",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 27
- }
- },
- "name": "bar"
- },
- "right": {
- "type": "Literal",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- },
- "value": 4,
- "raw": "4"
- },
- "range": [
- 34,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "consturctor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Numeric",
- "value": "3",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Numeric",
- "value": "4",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 30
- },
- "end": {
- "line": 2,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/class-constructor-params-object.result.js b/tests/fixtures/ecma-features/destructuring/class-constructor-params-object.result.js
deleted file mode 100644
index 83c12f9..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-constructor-params-object.result.js
+++ /dev/null
@@ -1,546 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "name": "consturctor"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 38,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 25,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ObjectPattern",
- "range": [
- 26,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 26
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "name": "foo"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- },
- {
- "type": "Property",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "name": "bar"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "consturctor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/class-method-params-array.result.js b/tests/fixtures/ecma-features/destructuring/class-method-params-array.result.js
deleted file mode 100644
index 1848852..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-method-params-array.result.js
+++ /dev/null
@@ -1,468 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 30,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 17,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ArrayPattern",
- "range": [
- 18,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "elements": [
- {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "bar"
- },
- {
- "type": "Identifier",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "baz"
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/class-method-params-defaults-array.result.js b/tests/fixtures/ecma-features/destructuring/class-method-params-defaults-array.result.js
deleted file mode 100644
index dee1037..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-method-params-defaults-array.result.js
+++ /dev/null
@@ -1,612 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 34,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 17,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ArrayPattern",
- "range": [
- 18,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "elements": [
- {
- "type": "AssignmentPattern",
- "range": [
- 19,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "bar"
- },
- "right": {
- "type": "Literal",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "value": 3,
- "raw": "3"
- }
- },
- {
- "type": "AssignmentPattern",
- "range": [
- 26,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "name": "baz"
- },
- "right": {
- "type": "Literal",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "value": 4,
- "raw": "4"
- }
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Numeric",
- "value": "3",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Numeric",
- "value": "4",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/class-method-params-defaults-object.result.js b/tests/fixtures/ecma-features/destructuring/class-method-params-defaults-object.result.js
deleted file mode 100644
index d298fa7..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-method-params-defaults-object.result.js
+++ /dev/null
@@ -1,690 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 34,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 17,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ObjectPattern",
- "range": [
- 18,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 19,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "AssignmentPattern",
- "left": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "bar"
- },
- "right": {
- "type": "Literal",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "value": 3,
- "raw": "3"
- },
- "range": [
- 19,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- },
- {
- "type": "Property",
- "range": [
- 26,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "name": "baz"
- },
- "value": {
- "type": "AssignmentPattern",
- "left": {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "name": "baz"
- },
- "right": {
- "type": "Literal",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "value": 3,
- "raw": "3"
- },
- "range": [
- 26,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Numeric",
- "value": "3",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Numeric",
- "value": "3",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/class-method-params-object.result.js b/tests/fixtures/ecma-features/destructuring/class-method-params-object.result.js
deleted file mode 100644
index 4782cb4..0000000
--- a/tests/fixtures/ecma-features/destructuring/class-method-params-object.result.js
+++ /dev/null
@@ -1,546 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 30,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 17,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "ObjectPattern",
- "range": [
- 18,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "bar"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- },
- {
- "type": "Property",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "baz"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "baz"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- }
- ],
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-array-all.result.js b/tests/fixtures/ecma-features/destructuring/defaults-array-all.result.js
deleted file mode 100644
index ebcef30..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-array-all.result.js
+++ /dev/null
@@ -1,564 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 4,
- 30
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 4,
- 26
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- },
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 13,
- 18
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "value": 5,
- "raw": "5"
- }
- },
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 20,
- 25
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "name": "z"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ],
- "value": 1,
- "raw": "1"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Numeric",
- "value": "5",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-array-longform-nested-multi.result.js b/tests/fixtures/ecma-features/destructuring/defaults-array-longform-nested-multi.result.js
deleted file mode 100644
index 02a44ef..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-array-longform-nested-multi.result.js
+++ /dev/null
@@ -1,775 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 0,
- 39
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 0,
- 39
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 4,
- 38
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 4,
- 34
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 5,
- 9
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "x"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 11,
- 15
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "y"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "y"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 17,
- 32
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "z"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 20,
- 32
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 22,
- 31
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "name": "a"
- },
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 25,
- 31
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "name": "a"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 29,
- 31
- ],
- "value": 10,
- "raw": "10"
- }
- },
- "kind": "init"
- }
- ]
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 37,
- 38
- ],
- "name": "b"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 29,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-array-multi.result.js b/tests/fixtures/ecma-features/destructuring/defaults-array-multi.result.js
deleted file mode 100644
index 4b82bbd..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-array-multi.result.js
+++ /dev/null
@@ -1,420 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 4,
- 22
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 4,
- 18
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "z"
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-array-nested-all.result.js b/tests/fixtures/ecma-features/destructuring/defaults-array-nested-all.result.js
deleted file mode 100644
index 6623c70..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-array-nested-all.result.js
+++ /dev/null
@@ -1,493 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 4,
- 27
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 4,
- 23
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- },
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 13,
- 22
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 15,
- 21
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "z"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 19,
- 21
- ],
- "value": 10,
- "raw": "10"
- }
- }
- ]
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 19,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-array-nested-multi.result.js b/tests/fixtures/ecma-features/destructuring/defaults-array-nested-multi.result.js
deleted file mode 100644
index 75b4a2e..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-array-nested-multi.result.js
+++ /dev/null
@@ -1,421 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 4,
- 23
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 4,
- 19
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- },
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 13,
- 18
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "z"
- }
- ]
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-array.result.js b/tests/fixtures/ecma-features/destructuring/defaults-array.result.js
deleted file mode 100644
index f54cdab..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-array.result.js
+++ /dev/null
@@ -1,274 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 1,
- 5
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 3,
- 5
- ],
- "value": 10,
- "raw": "10"
- }
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 3,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-all.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-all.result.js
deleted file mode 100644
index bfc0d01..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-all.result.js
+++ /dev/null
@@ -1,681 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 4,
- 30
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 4,
- 26
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 13,
- 18
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 13,
- 18
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "value": 5,
- "raw": "5"
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 20,
- 25
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "name": "z"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 20,
- 25
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "name": "z"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ],
- "value": 1,
- "raw": "1"
- }
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Numeric",
- "value": "5",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-longform-all.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-longform-all.result.js
deleted file mode 100644
index 0759bf0..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-longform-all.result.js
+++ /dev/null
@@ -1,789 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 0,
- 42
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 0,
- 42
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 4,
- 41
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 4,
- 37
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 5,
- 14
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 8,
- 14
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ],
- "value": 10,
- "raw": "10"
- }
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 16,
- 25
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "y"
- },
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 19,
- 25
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "y"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ],
- "value": 10,
- "raw": "10"
- }
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 27,
- 36
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ],
- "name": "z"
- },
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 30,
- 36
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ],
- "name": "z"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 34,
- 36
- ],
- "value": 10,
- "raw": "10"
- }
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 34,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 41,
- 42
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-longform-multi.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-longform-multi.result.js
deleted file mode 100644
index e718bf1..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-longform-multi.result.js
+++ /dev/null
@@ -1,645 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 4,
- 31
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 4,
- 27
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 5,
- 9
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "x"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 11,
- 20
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "y"
- },
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 14,
- 20
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "y"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ],
- "value": 10,
- "raw": "10"
- }
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 22,
- 26
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "name": "z"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "name": "z"
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-longform.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-longform.result.js
deleted file mode 100644
index 84200af..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-longform.result.js
+++ /dev/null
@@ -1,387 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 4,
- 21
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 4,
- 17
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 6,
- 15
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "x"
- },
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 9,
- 15
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ],
- "value": 10,
- "raw": "10"
- }
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "name": "x"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-mixed-multi.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-mixed-multi.result.js
deleted file mode 100644
index a3e20a5..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-mixed-multi.result.js
+++ /dev/null
@@ -1,573 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 4,
- 25
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 4,
- 21
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 8,
- 17
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "y"
- },
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 11,
- 17
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "y"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ],
- "value": 10,
- "raw": "10"
- }
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "z"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "z"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-multi.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-multi.result.js
deleted file mode 100644
index f7540e0..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-multi.result.js
+++ /dev/null
@@ -1,537 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 4,
- 22
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 4,
- 18
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "z"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "z"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-nested-all.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-nested-all.result.js
deleted file mode 100644
index 7b4322f..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-nested-all.result.js
+++ /dev/null
@@ -1,646 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 4,
- 30
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 4,
- 26
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 13,
- 25
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 16,
- 25
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 18,
- 24
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "z"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 18,
- 24
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "z"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ],
- "value": 10,
- "raw": "10"
- }
- }
- }
- ]
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object-nested-multi.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object-nested-multi.result.js
deleted file mode 100644
index f4fbd8d..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object-nested-multi.result.js
+++ /dev/null
@@ -1,574 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 4,
- 26
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 4,
- 22
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 13,
- 21
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "y"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "z"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "z"
- }
- }
- ]
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/defaults-object.result.js b/tests/fixtures/ecma-features/destructuring/defaults-object.result.js
deleted file mode 100644
index e3c0d88..0000000
--- a/tests/fixtures/ecma-features/destructuring/defaults-object.result.js
+++ /dev/null
@@ -1,333 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ],
- "value": 10,
- "raw": "10"
- }
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "x"
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/destructured-array-catch.result.js b/tests/fixtures/ecma-features/destructuring/destructured-array-catch.result.js
deleted file mode 100644
index 5027265..0000000
--- a/tests/fixtures/ecma-features/destructuring/destructured-array-catch.result.js
+++ /dev/null
@@ -1,918 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 0,
- 72
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "range": [
- 0,
- 71
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "a"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "range": [
- 16,
- 71
- ],
- "body": [
- {
- "type": "TryStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 20,
- 69
- ],
- "block": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 24,
- 46
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "range": [
- 30,
- 42
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "range": [
- 34,
- 41
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "range": [
- 34,
- 37
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ],
- "name": "b"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "range": [
- 40,
- 41
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ]
- },
- "handler": {
- "type": "CatchClause",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 49,
- 69
- ],
- "param": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 15
- }
- },
- "range": [
- 55,
- 62
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 56,
- 61
- ],
- "name": "stack"
- }
- ]
- },
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 64,
- 69
- ],
- "body": []
- }
- },
- "finalizer": null
- }
- ]
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 7,
- "column": 1
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 71,
- 72
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Keyword",
- "value": "try",
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 20,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 30,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "range": [
- 41,
- 42
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Keyword",
- "value": "catch",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 49,
- 54
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 5,
- "column": 7
- },
- "end": {
- "line": 5,
- "column": 8
- }
- },
- "range": [
- 54,
- 55
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 55,
- 56
- ]
- },
- {
- "type": "Identifier",
- "value": "stack",
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 56,
- 61
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 15
- }
- },
- "range": [
- 61,
- 62
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 5,
- "column": 15
- },
- "end": {
- "line": 5,
- "column": 16
- }
- },
- "range": [
- 62,
- 63
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 5,
- "column": 18
- }
- },
- "range": [
- 64,
- 65
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 6,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 68,
- 69
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "range": [
- 70,
- 71
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 7,
- "column": 1
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 71,
- 72
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/destructured-object-catch.result.js b/tests/fixtures/ecma-features/destructuring/destructured-object-catch.result.js
deleted file mode 100644
index 73a185e..0000000
--- a/tests/fixtures/ecma-features/destructuring/destructured-object-catch.result.js
+++ /dev/null
@@ -1,957 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 0,
- 72
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "range": [
- 0,
- 71
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "a"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "range": [
- 16,
- 71
- ],
- "body": [
- {
- "type": "TryStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 20,
- 69
- ],
- "block": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 24,
- 46
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "range": [
- 30,
- 42
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "range": [
- 34,
- 41
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "range": [
- 34,
- 37
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ],
- "name": "b"
- }
- }
- ]
- },
- "init": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "range": [
- 40,
- 41
- ],
- "name": "a"
- }
- }
- ],
- "kind": "var"
- }
- ]
- },
- "handler": {
- "type": "CatchClause",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 49,
- 69
- ],
- "param": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 15
- }
- },
- "range": [
- 55,
- 62
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 56,
- 61
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 56,
- 61
- ],
- "name": "stack"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 56,
- 61
- ],
- "name": "stack"
- }
- }
- ]
- },
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 64,
- 69
- ],
- "body": []
- }
- },
- "finalizer": null
- }
- ]
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 7,
- "column": 1
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 71,
- 72
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Keyword",
- "value": "try",
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 20,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 30,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "range": [
- 41,
- 42
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Keyword",
- "value": "catch",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 49,
- 54
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 5,
- "column": 7
- },
- "end": {
- "line": 5,
- "column": 8
- }
- },
- "range": [
- 54,
- 55
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 55,
- 56
- ]
- },
- {
- "type": "Identifier",
- "value": "stack",
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 56,
- 61
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 15
- }
- },
- "range": [
- 61,
- 62
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 5,
- "column": 15
- },
- "end": {
- "line": 5,
- "column": 16
- }
- },
- "range": [
- 62,
- 63
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 5,
- "column": 18
- }
- },
- "range": [
- 64,
- 65
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 6,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "range": [
- 68,
- 69
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "range": [
- 70,
- 71
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 7,
- "column": 1
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 71,
- 72
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/invalid-defaults-object-assign.result.js b/tests/fixtures/ecma-features/destructuring/invalid-defaults-object-assign.result.js
deleted file mode 100644
index 93be635..0000000
--- a/tests/fixtures/ecma-features/destructuring/invalid-defaults-object-assign.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- lineNumber: 1,
- index: 9,
- column: 10,
- message: "Unexpected token ="
-};
diff --git a/tests/fixtures/ecma-features/destructuring/named-param.result.js b/tests/fixtures/ecma-features/destructuring/named-param.result.js
deleted file mode 100644
index ea97728..0000000
--- a/tests/fixtures/ecma-features/destructuring/named-param.result.js
+++ /dev/null
@@ -1,331 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "operator": "=",
- "left": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 1,
- 23
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 3,
- 21
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 3,
- 15
- ],
- "name": "responseText"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 17,
- 21
- ],
- "name": "text"
- },
- "kind": "init"
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 27,
- 30
- ],
- "name": "res"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "responseText",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 3,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "text",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 17,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Identifier",
- "value": "res",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 27,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/nested-array.result.js b/tests/fixtures/ecma-features/destructuring/nested-array.result.js
deleted file mode 100644
index f3fd16b..0000000
--- a/tests/fixtures/ecma-features/destructuring/nested-array.result.js
+++ /dev/null
@@ -1,663 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 4,
- 30
- ],
- "id": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- null,
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 10,
- 15
- ],
- "elements": [
- null,
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "z"
- }
- ]
- }
- ]
- },
- "init": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 19,
- 30
- ],
- "elements": [
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "value": 1,
- "raw": "1"
- },
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "value": 2,
- "raw": "2"
- },
- {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 24,
- 29
- ],
- "elements": [
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "value": 3,
- "raw": "3"
- },
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ],
- "value": 4,
- "raw": "4"
- }
- ]
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Numeric",
- "value": "2",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Numeric",
- "value": "3",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Numeric",
- "value": "4",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/nested-object.result.js b/tests/fixtures/ecma-features/destructuring/nested-object.result.js
deleted file mode 100644
index c9ee5d1..0000000
--- a/tests/fixtures/ecma-features/destructuring/nested-object.result.js
+++ /dev/null
@@ -1,965 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 0,
- 53
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 0,
- 53
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 4,
- 52
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 4,
- 24
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 5,
- 9
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "x"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "y"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 11,
- 22
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "z"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 14,
- 22
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 16,
- 20
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "a"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "b"
- },
- "kind": "init"
- }
- ]
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 27,
- 52
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 29,
- 35
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ],
- "name": "x"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 32,
- 35
- ],
- "value": "3",
- "raw": "\"3\""
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 50
- }
- },
- "range": [
- 37,
- 50
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 37,
- 38
- ],
- "name": "z"
- },
- "value": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 50
- }
- },
- "range": [
- 40,
- 50
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 42,
- 48
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 42,
- 43
- ],
- "name": "a"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 45,
- 48
- ],
- "value": "b",
- "raw": "\"b\""
- },
- "kind": "init"
- }
- ]
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "String",
- "value": "\"3\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 32,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 42,
- 43
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 43
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 43,
- 44
- ]
- },
- {
- "type": "String",
- "value": "\"b\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 45,
- 48
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 49
- },
- "end": {
- "line": 1,
- "column": 50
- }
- },
- "range": [
- 49,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 51,
- 52
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 52,
- 53
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/object-var-named.result.js b/tests/fixtures/ecma-features/destructuring/object-var-named.result.js
deleted file mode 100644
index 7eaa658..0000000
--- a/tests/fixtures/ecma-features/destructuring/object-var-named.result.js
+++ /dev/null
@@ -1,333 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 4,
- 14
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 4,
- 9
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "b"
- },
- "kind": "init"
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ],
- "properties": []
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/object-var-undefined.result.js b/tests/fixtures/ecma-features/destructuring/object-var-undefined.result.js
deleted file mode 100644
index 8b79126..0000000
--- a/tests/fixtures/ecma-features/destructuring/object-var-undefined.result.js
+++ /dev/null
@@ -1,297 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "a"
- }
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ],
- "properties": []
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/param-deafults-object.result.js b/tests/fixtures/ecma-features/destructuring/param-deafults-object.result.js
deleted file mode 100644
index 002ada8..0000000
--- a/tests/fixtures/ecma-features/destructuring/param-deafults-object.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 14,
- "lineNumber": 1,
- "column": 15,
- "description": "Unexpected token ="
-}
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/destructuring/param-defaults-array.result.js b/tests/fixtures/ecma-features/destructuring/param-defaults-array.result.js
deleted file mode 100644
index a5cb3a8..0000000
--- a/tests/fixtures/ecma-features/destructuring/param-defaults-array.result.js
+++ /dev/null
@@ -1,351 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 11,
- 19
- ],
- "elements": [
- {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 12,
- 18
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ],
- "value": 10,
- "raw": "10"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 21,
- 23
- ],
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/param-defaults-object-nested.result.js b/tests/fixtures/ecma-features/destructuring/param-defaults-object-nested.result.js
deleted file mode 100644
index dd8a72d..0000000
--- a/tests/fixtures/ecma-features/destructuring/param-defaults-object-nested.result.js
+++ /dev/null
@@ -1,720 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 0,
- 39
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 0,
- 38
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 11,
- 34
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 12,
- 18
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 12,
- 18
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ],
- "value": 10,
- "raw": "10"
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 20,
- 33
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "name": "y"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 23,
- 33
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 25,
- 31
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "name": "z"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 25,
- 31
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "name": "z"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 29,
- 31
- ],
- "value": 10,
- "raw": "10"
- }
- }
- }
- ]
- },
- "kind": "init"
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 36,
- 38
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 29,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/param-defaults-object.result.js b/tests/fixtures/ecma-features/destructuring/param-defaults-object.result.js
deleted file mode 100644
index 73ade89..0000000
--- a/tests/fixtures/ecma-features/destructuring/param-defaults-object.result.js
+++ /dev/null
@@ -1,390 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 11,
- 19
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 12,
- 18
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "AssignmentPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 12,
- 18
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ],
- "value": 10,
- "raw": "10"
- }
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 21,
- 23
- ],
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/params-array-wrapped.result.js b/tests/fixtures/ecma-features/destructuring/params-array-wrapped.result.js
deleted file mode 100644
index 7af6c21..0000000
--- a/tests/fixtures/ecma-features/destructuring/params-array-wrapped.result.js
+++ /dev/null
@@ -1,404 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 1,
- 23
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "x"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 12,
- 20
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "a"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "b"
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 21,
- 23
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/params-array.result.js b/tests/fixtures/ecma-features/destructuring/params-array.result.js
deleted file mode 100644
index 442ff1a..0000000
--- a/tests/fixtures/ecma-features/destructuring/params-array.result.js
+++ /dev/null
@@ -1,368 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 11,
- 19
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "a"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "b"
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 20,
- 22
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/params-multi-object.result.js b/tests/fixtures/ecma-features/destructuring/params-multi-object.result.js
deleted file mode 100644
index bdccf34..0000000
--- a/tests/fixtures/ecma-features/destructuring/params-multi-object.result.js
+++ /dev/null
@@ -1,407 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "a"
- },
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 14,
- 19
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "b"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 20,
- 22
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/params-nested-array.result.js b/tests/fixtures/ecma-features/destructuring/params-nested-array.result.js
deleted file mode 100644
index 390ce67..0000000
--- a/tests/fixtures/ecma-features/destructuring/params-nested-array.result.js
+++ /dev/null
@@ -1,461 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 11,
- 23
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- },
- null,
- {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 17,
- 22
- ],
- "elements": [
- null,
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "name": "z"
- }
- ]
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 25,
- 27
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/params-nested-object.result.js b/tests/fixtures/ecma-features/destructuring/params-nested-object.result.js
deleted file mode 100644
index c795570..0000000
--- a/tests/fixtures/ecma-features/destructuring/params-nested-object.result.js
+++ /dev/null
@@ -1,648 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 0,
- 36
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 11,
- 31
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 12,
- 16
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "y"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 18,
- 29
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "z"
- },
- "value": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 21,
- 29
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 23,
- 27
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ],
- "name": "a"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ],
- "name": "b"
- },
- "kind": "init"
- }
- ]
- },
- "kind": "init"
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 33,
- 35
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/params-object-wrapped.result.js b/tests/fixtures/ecma-features/destructuring/params-object-wrapped.result.js
deleted file mode 100644
index 54b73e8..0000000
--- a/tests/fixtures/ecma-features/destructuring/params-object-wrapped.result.js
+++ /dev/null
@@ -1,482 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 1,
- 23
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "x"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 12,
- 20
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "a"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "b"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 21,
- 23
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/params-object.result.js b/tests/fixtures/ecma-features/destructuring/params-object.result.js
deleted file mode 100644
index 4b14534..0000000
--- a/tests/fixtures/ecma-features/destructuring/params-object.result.js
+++ /dev/null
@@ -1,446 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 11,
- 19
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "a"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "name": "b"
- }
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 20,
- 22
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/destructuring/sparse-array.result.js b/tests/fixtures/ecma-features/destructuring/sparse-array.result.js
deleted file mode 100644
index b694b80..0000000
--- a/tests/fixtures/ecma-features/destructuring/sparse-array.result.js
+++ /dev/null
@@ -1,293 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "operator": "=",
- "left": {
- "type": "ArrayPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "elements": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- null,
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "b"
- }
- ]
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "name": "array"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "array",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/experimentalAsyncIteration/async-generators.result.js b/tests/fixtures/ecma-features/experimentalAsyncIteration/async-generators.result.js
deleted file mode 100644
index c134851..0000000
--- a/tests/fixtures/ecma-features/experimentalAsyncIteration/async-generators.result.js
+++ /dev/null
@@ -1,223 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 16,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "name": "foo"
- },
- "generator": true,
- "expression": false,
- "async": true,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "range": [
- 22,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "async",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 6,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 16,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalAsyncIteration/async-iterator.result.js b/tests/fixtures/ecma-features/experimentalAsyncIteration/async-iterator.result.js
deleted file mode 100644
index abb80b3..0000000
--- a/tests/fixtures/ecma-features/experimentalAsyncIteration/async-iterator.result.js
+++ /dev/null
@@ -1,496 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 69
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 69
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "foo"
- },
- "generator": false,
- "expression": false,
- "async": true,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "range": [
- 21,
- 69
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ForOfStatement",
- "range": [
- 27,
- 67
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "left": {
- "type": "VariableDeclaration",
- "range": [
- 38,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 44,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 44,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "name": "item"
- },
- "init": null
- }
- ],
- "kind": "const"
- },
- "right": {
- "type": "Identifier",
- "range": [
- 52,
- 57
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 34
- }
- },
- "name": "items"
- },
- "body": {
- "type": "BlockStatement",
- "range": [
- 59,
- 67
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": []
- },
- "await": true
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "async",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 6,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "for",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "await",
- "range": [
- 31,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Keyword",
- "value": "const",
- "range": [
- 38,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "item",
- "range": [
- 44,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "of",
- "range": [
- 49,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "items",
- "range": [
- 52,
- 57
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 66,
- 67
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 68,
- 69
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/arg-spread.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/arg-spread.result.js
deleted file mode 100644
index ca29de6..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/arg-spread.result.js
+++ /dev/null
@@ -1,409 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "c"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 11,
- 20
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "a"
- }
- },
- {
- "type": "ExperimentalRestProperty",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 15,
- 19
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ],
- "name": "b"
- },
- "shorthand": true,
- "computed": false,
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ],
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/destructuring-assign-mirror.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/destructuring-assign-mirror.result.js
deleted file mode 100644
index 49acb2b..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/destructuring-assign-mirror.result.js
+++ /dev/null
@@ -1,549 +0,0 @@
-module.exports = {
- "type": "Program",
- "body": [
- {
- "type": "ExpressionStatement",
- "expression": {
- "type": "AssignmentExpression",
- "operator": "=",
- "left": {
- "type": "ObjectPattern",
- "properties": [
- {
- "type": "Property",
- "key": {
- "type": "Identifier",
- "name": "a",
- "range": [
- 2,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- "value": {
- "type": "Identifier",
- "name": "a",
- "range": [
- 2,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "computed": false,
- "range": [
- 2,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "ExperimentalRestProperty",
- "argument": {
- "type": "Identifier",
- "name": "b",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- "range": [
- 5,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- }
- ],
- "range": [
- 1,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- "right": {
- "type": "ObjectExpression",
- "properties": [
- {
- "type": "Property",
- "key": {
- "type": "Identifier",
- "name": "a",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- "value": {
- "type": "Identifier",
- "name": "a",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- "kind": "init",
- "method": false,
- "shorthand": true,
- "computed": false,
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "ExperimentalSpreadProperty",
- "argument": {
- "type": "Identifier",
- "name": "b",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- }
- ],
- "range": [
- 13,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- "range": [
- 1,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- }
- ],
- "sourceType": "script",
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 1,
- 2
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 2,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 3,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 17,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/function-parameter-object-spread.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/function-parameter-object-spread.result.js
deleted file mode 100644
index 23c70b6..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/function-parameter-object-spread.result.js
+++ /dev/null
@@ -1,316 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "name": "foo"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "range": [
- 13,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "properties": [
- {
- "type": "ExperimentalRestProperty",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 17,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "name": "bar"
- },
- "computed": false,
- "shorthand": true
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 23,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 17,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/invalid-rest-trailing-comma.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/invalid-rest-trailing-comma.result.js
deleted file mode 100644
index 741ae54..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/invalid-rest-trailing-comma.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- index: 16,
- lineNumber: 1,
- column: 17,
- message: "Unexpected trailing comma after rest property"
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/invalid-rest.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/invalid-rest.result.js
deleted file mode 100644
index c18a2de..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/invalid-rest.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 18,
- "lineNumber": 1,
- "column": 19,
- "message": "Unexpected token ."
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/object-rest.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/object-rest.result.js
deleted file mode 100644
index 8ee8eae..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/object-rest.result.js
+++ /dev/null
@@ -1,984 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 0,
- 48
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 0,
- 48
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 4,
- 47
- ],
- "id": {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 4,
- 18
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "x"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "x"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "y"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "y"
- }
- },
- {
- "type": "ExperimentalRestProperty",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 12,
- 16
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "z"
- },
- "shorthand": true,
- "computed": false,
- }
- ]
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 21,
- 47
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 23,
- 27
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ],
- "name": "x"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ],
- "value": 1,
- "raw": "1"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 29,
- 33
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ],
- "name": "y"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ],
- "value": 2,
- "raw": "2"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 35,
- 39
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ],
- "name": "a"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ],
- "value": 3,
- "raw": "3"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 41,
- 45
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 41,
- 42
- ],
- "name": "b"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 44,
- 45
- ],
- "value": 4,
- "raw": "4"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "z",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Numeric",
- "value": "2",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Numeric",
- "value": "3",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 39,
- 40
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 41,
- 42
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 42,
- 43
- ]
- },
- {
- "type": "Numeric",
- "value": "4",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 44,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 46,
- 47
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 47,
- 48
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/property-spread.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/property-spread.result.js
deleted file mode 100644
index 25637c8..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/property-spread.result.js
+++ /dev/null
@@ -1,859 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 0,
- 83
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 0,
- 26
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "get"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "name": "set"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 28,
- 83
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 32,
- 82
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 36,
- 82
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 42,
- 50
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "name": "foo"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 9
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 47,
- 50
- ],
- "name": "foo"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 12
- }
- },
- "range": [
- 56,
- 64
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 56,
- 59
- ],
- "name": "get"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 9
- },
- "end": {
- "line": 7,
- "column": 12
- }
- },
- "range": [
- 61,
- 64
- ],
- "name": "get"
- },
- "kind": "init"
- },
- {
- "type": "ExperimentalSpreadProperty",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 14
- }
- },
- "range": [
- 70,
- 80
- ],
- "argument": {
- "type": "MemberExpression",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 14
- }
- },
- "range": [
- 73,
- 80
- ],
- "object": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 73,
- 76
- ],
- "name": "set"
- },
- "property": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 8,
- "column": 11
- },
- "end": {
- "line": 8,
- "column": 14
- }
- },
- "range": [
- 77,
- 80
- ],
- "name": "foo"
- },
- "computed": false
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 28,
- 31
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 6,
- "column": 7
- },
- "end": {
- "line": 6,
- "column": 8
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 9
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 47,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 6,
- "column": 12
- },
- "end": {
- "line": 6,
- "column": 13
- }
- },
- "range": [
- 50,
- 51
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 56,
- 59
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 7,
- "column": 7
- },
- "end": {
- "line": 7,
- "column": 8
- }
- },
- "range": [
- 59,
- 60
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 7,
- "column": 9
- },
- "end": {
- "line": 7,
- "column": 12
- }
- },
- "range": [
- 61,
- 64
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 7,
- "column": 12
- },
- "end": {
- "line": 7,
- "column": 13
- }
- },
- "range": [
- 64,
- 65
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 70,
- 73
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 73,
- 76
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 8,
- "column": 10
- },
- "end": {
- "line": 8,
- "column": 11
- }
- },
- "range": [
- 76,
- 77
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 8,
- "column": 11
- },
- "end": {
- "line": 8,
- "column": 14
- }
- },
- "range": [
- 77,
- 80
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 81,
- 82
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 9,
- "column": 1
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 82,
- 83
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-method-args.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-method-args.result.js
deleted file mode 100644
index 35e97e3..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-method-args.result.js
+++ /dev/null
@@ -1,629 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [0, 108],
- "sourceType": "script",
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "name": "initialize",
- "range": [
- 7,
- 17
- ],
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "id": null,
- "async": false,
- "generator": false,
- "expression": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 46
- }
- },
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "name": "someVar",
- "range": [
- 19,
- 26
- ],
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "name": "someVar",
- "range": [
- 19,
- 26
- ],
- },
- "range": [
- 19,
- 26
- ],
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "name": "otherVar",
- "range": [
- 28,
- 36
- ],
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "name": "otherVar",
- "range": [
- 28,
- 36
- ],
- },
- "range": [
- 28,
- 36
- ],
- },
- {
- "type": "ExperimentalRestProperty",
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 38
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "name": "options",
- "range": [
- 41,
- 48
- ],
- },
- "shorthand": true,
- "computed": false,
- "range": [
- 38,
- 48
- ]
- }
- ],
- "range": [
- 18,
- 49
- ],
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 48
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": [],
- "range": [
- 51,
- 104
- ],
- },
- "range": [
- 17,
- 104
- ],
- },
- "range": [
- 7,
- 104
- ],
- }
- ],
- "range": [
- 1,
- 106
- ],
- },
- "range": [
- 0,
- 108
- ],
- }
- ],
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "initialize",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 7,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "someVar",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 19,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Identifier",
- "value": "otherVar",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "range": [
- 28,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 34
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "range": [
- 38,
- 41
- ]
- },
- {
- "type": "Identifier",
- "value": "options",
- "loc": {
- "start": {
- "line": 2,
- "column": 38
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "range": [
- 41,
- 48
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 2,
- "column": 45
- },
- "end": {
- "line": 2,
- "column": 46
- }
- },
- "range": [
- 48,
- 49
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 46
- },
- "end": {
- "line": 2,
- "column": 47
- }
- },
- "range": [
- 49,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 48
- },
- "end": {
- "line": 2,
- "column": 49
- }
- },
- "range": [
- 51,
- 52
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 103,
- 104
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 105,
- 106
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 106,
- 107
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 107,
- 108
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-methods.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-methods.result.js
deleted file mode 100644
index ce598f4..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-methods.result.js
+++ /dev/null
@@ -1,688 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 0,
- 114
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 0,
- 114
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 4,
- 113
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 8,
- 113
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 14,
- 111
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 14,
- 24
- ],
- "name": "initialize"
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 24,
- 111
- ],
- "id": null,
- "async": false,
- "generator": false,
- "expression": false,
- "params": [
- {
- "type": "ObjectPattern",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 46
- }
- },
- "range": [
- 25,
- 56
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 26,
- 33
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 26,
- 33
- ],
- "name": "someVar"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 26,
- 33
- ],
- "name": "someVar"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "range": [
- 35,
- 43
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "range": [
- 35,
- 43
- ],
- "name": "otherVar"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "range": [
- 35,
- 43
- ],
- "name": "otherVar"
- }
- },
- {
- "type": "ExperimentalRestProperty",
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "range": [
- 45,
- 55
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 38
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "range": [
- 48,
- 55
- ],
- "name": "options"
- },
- "shorthand": true,
- "computed": false,
- }
- ]
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 48
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 58,
- 111
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "initialize",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 14,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Identifier",
- "value": "someVar",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 26,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Identifier",
- "value": "otherVar",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "range": [
- 35,
- 43
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 34
- }
- },
- "range": [
- 43,
- 44
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "range": [
- 45,
- 48
- ]
- },
- {
- "type": "Identifier",
- "value": "options",
- "loc": {
- "start": {
- "line": 2,
- "column": 38
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "range": [
- 48,
- 55
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 2,
- "column": 45
- },
- "end": {
- "line": 2,
- "column": 46
- }
- },
- "range": [
- 55,
- 56
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 46
- },
- "end": {
- "line": 2,
- "column": 47
- }
- },
- "range": [
- 56,
- 57
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 48
- },
- "end": {
- "line": 2,
- "column": 49
- }
- },
- "range": [
- 58,
- 59
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 110,
- 111
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 112,
- 113
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 113,
- 114
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-properties.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-properties.result.js
deleted file mode 100644
index 9b861af..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/shorthand-properties.result.js
+++ /dev/null
@@ -1,715 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 0,
- 69
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 0,
- 26
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "get"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "name": "set"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 28,
- 69
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 32,
- 68
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 36,
- 68
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "name": "foo"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "name": "foo"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ],
- "name": "get"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ],
- "name": "get"
- }
- },
- {
- "type": "ExperimentalSpreadProperty",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 60,
- 66
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 63,
- 66
- ],
- "name": "set"
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 28,
- 31
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 6,
- "column": 7
- },
- "end": {
- "line": 6,
- "column": 8
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 7,
- "column": 7
- },
- "end": {
- "line": 7,
- "column": 8
- }
- },
- "range": [
- 54,
- 55
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 60,
- 63
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 63,
- 66
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 67,
- 68
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 9,
- "column": 1
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 68,
- 69
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/single-spread.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/single-spread.result.js
deleted file mode 100644
index f2afb48..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/single-spread.result.js
+++ /dev/null
@@ -1,787 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 0,
- 79
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 0,
- 26
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "get"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "name": "set"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 28,
- 79
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 32,
- 78
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 36,
- 78
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 42,
- 50
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "name": "foo"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 9
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 47,
- 50
- ],
- "name": "foo"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 12
- }
- },
- "range": [
- 56,
- 64
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 56,
- 59
- ],
- "name": "get"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 9
- },
- "end": {
- "line": 7,
- "column": 12
- }
- },
- "range": [
- 61,
- 64
- ],
- "name": "get"
- },
- "kind": "init"
- },
- {
- "type": "ExperimentalSpreadProperty",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 70,
- 76
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 73,
- 76
- ],
- "name": "set"
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 28,
- 31
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 6,
- "column": 7
- },
- "end": {
- "line": 6,
- "column": 8
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 9
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 47,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 6,
- "column": 12
- },
- "end": {
- "line": 6,
- "column": 13
- }
- },
- "range": [
- 50,
- 51
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 56,
- 59
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 7,
- "column": 7
- },
- "end": {
- "line": 7,
- "column": 8
- }
- },
- "range": [
- 59,
- 60
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 7,
- "column": 9
- },
- "end": {
- "line": 7,
- "column": 12
- }
- },
- "range": [
- 61,
- 64
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 7,
- "column": 12
- },
- "end": {
- "line": 7,
- "column": 13
- }
- },
- "range": [
- 64,
- 65
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 70,
- 73
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 73,
- 76
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 77,
- 78
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 9,
- "column": 1
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 78,
- 79
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/spread-trailing-comma.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/spread-trailing-comma.result.js
deleted file mode 100644
index b882e2b..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/spread-trailing-comma.result.js
+++ /dev/null
@@ -1,405 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 1,
- 16
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "a"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "a"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "b"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "b"
- }
- },
- {
- "type": "ExperimentalSpreadProperty",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 9,
- 13
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "c"
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/experimentalObjectRestSpread/two-spread.result.js b/tests/fixtures/ecma-features/experimentalObjectRestSpread/two-spread.result.js
deleted file mode 100644
index 15a0234..0000000
--- a/tests/fixtures/ecma-features/experimentalObjectRestSpread/two-spread.result.js
+++ /dev/null
@@ -1,747 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 0,
- 77
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 0,
- 26
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "get"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "name": "set"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 28,
- 77
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 32,
- 76
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 36,
- 76
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 42,
- 50
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "name": "foo"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 9
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 47,
- 50
- ],
- "name": "foo"
- },
- "kind": "init"
- },
- {
- "type": "ExperimentalSpreadProperty",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 10
- }
- },
- "range": [
- 56,
- 62
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 7
- },
- "end": {
- "line": 7,
- "column": 10
- }
- },
- "range": [
- 59,
- 62
- ],
- "name": "get"
- }
- },
- {
- "type": "ExperimentalSpreadProperty",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 68,
- 74
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 71,
- 74
- ],
- "name": "set"
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 28,
- 31
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 6,
- "column": 7
- },
- "end": {
- "line": 6,
- "column": 8
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 9
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 47,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 6,
- "column": 12
- },
- "end": {
- "line": 6,
- "column": 13
- }
- },
- "range": [
- 50,
- 51
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 56,
- 59
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 7,
- "column": 7
- },
- "end": {
- "line": 7,
- "column": 10
- }
- },
- "range": [
- 59,
- 62
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 7,
- "column": 10
- },
- "end": {
- "line": 7,
- "column": 11
- }
- },
- "range": [
- 62,
- 63
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 68,
- 71
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 10
- }
- },
- "range": [
- 71,
- 74
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 75,
- 76
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 9,
- "column": 1
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 76,
- 77
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/exponentiationOperators/exponential-operators.result.js b/tests/fixtures/ecma-features/exponentiationOperators/exponential-operators.result.js
deleted file mode 100644
index 083e46e..0000000
--- a/tests/fixtures/ecma-features/exponentiationOperators/exponential-operators.result.js
+++ /dev/null
@@ -1,403 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 4,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "name": "x"
- },
- "init": {
- "type": "BinaryExpression",
- "range": [
- 8,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "operator": "**",
- "left": {
- "type": "Literal",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "value": 2,
- "raw": "2"
- },
- "right": {
- "type": "Literal",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "value": 3,
- "raw": "3"
- }
- }
- }
- ],
- "kind": "var"
- },
- {
- "type": "ExpressionStatement",
- "range": [
- 16,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "expression": {
- "type": "BinaryExpression",
- "range": [
- 16,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "operator": "**=",
- "left": {
- "type": "Identifier",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "name": "x"
- },
- "right": {
- "type": "Literal",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "value": 4,
- "raw": "4"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Numeric",
- "value": "2",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "**",
- "range": [
- 10,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Numeric",
- "value": "3",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "**=",
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Numeric",
- "value": "4",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- }
- ]
-}
diff --git a/tests/fixtures/ecma-features/forOf/for-of-with-function-initializer.result.js b/tests/fixtures/ecma-features/forOf/for-of-with-function-initializer.result.js
deleted file mode 100644
index b82caac..0000000
--- a/tests/fixtures/ecma-features/forOf/for-of-with-function-initializer.result.js
+++ /dev/null
@@ -1,711 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 64
- }
- },
- "range": [
- 0,
- 64
- ],
- "body": [
- {
- "type": "ForOfStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 64
- }
- },
- "range": [
- 0,
- 64
- ],
- "left": {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 5,
- 43
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 9,
- 43
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "i"
- },
- "init": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 13,
- 43
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 24,
- 43
- ],
- "body": [
- {
- "type": "ReturnStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 26,
- 41
- ],
- "argument": {
- "type": "BinaryExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 33,
- 41
- ],
- "left": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 33,
- 35
- ],
- "value": 10,
- "raw": "10"
- },
- "operator": "in",
- "right": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 39,
- 41
- ],
- "elements": []
- }
- }
- }
- ]
- }
- }
- }
- ],
- "kind": "var"
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 51
- }
- },
- "range": [
- 47,
- 51
- ],
- "name": "list"
- },
- "body": {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 64
- }
- },
- "range": [
- 53,
- 64
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 63
- }
- },
- "range": [
- 53,
- 63
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 60
- }
- },
- "range": [
- 53,
- 60
- ],
- "name": "process"
- },
- "arguments": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 61
- },
- "end": {
- "line": 1,
- "column": 62
- }
- },
- "range": [
- 61,
- 62
- ],
- "name": "x"
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "for",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "i",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 13,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Keyword",
- "value": "return",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 26,
- 32
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 33,
- 35
- ]
- },
- {
- "type": "Keyword",
- "value": "in",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 36,
- 38
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 39,
- 40
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 42,
- 43
- ]
- },
- {
- "type": "Identifier",
- "value": "of",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "range": [
- 44,
- 46
- ]
- },
- {
- "type": "Identifier",
- "value": "list",
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 51
- }
- },
- "range": [
- 47,
- 51
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 51,
- 52
- ]
- },
- {
- "type": "Identifier",
- "value": "process",
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 60
- }
- },
- "range": [
- 53,
- 60
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 60
- },
- "end": {
- "line": 1,
- "column": 61
- }
- },
- "range": [
- 60,
- 61
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 61
- },
- "end": {
- "line": 1,
- "column": 62
- }
- },
- "range": [
- 61,
- 62
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 62
- },
- "end": {
- "line": 1,
- "column": 63
- }
- },
- "range": [
- 62,
- 63
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 63
- },
- "end": {
- "line": 1,
- "column": 64
- }
- },
- "range": [
- 63,
- 64
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/forOf/for-of-with-var-and-braces.result.js b/tests/fixtures/ecma-features/forOf/for-of-with-var-and-braces.result.js
deleted file mode 100644
index ce4f928..0000000
--- a/tests/fixtures/ecma-features/forOf/for-of-with-var-and-braces.result.js
+++ /dev/null
@@ -1,419 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 0,
- 41
- ],
- "body": [
- {
- "type": "ForOfStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 0,
- 41
- ],
- "left": {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 5,
- 10
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 14,
- 17
- ],
- "name": "foo"
- },
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 19,
- 41
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "range": [
- 25,
- 39
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "range": [
- 25,
- 38
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 25,
- 36
- ],
- "name": "doSomething"
- },
- "arguments": []
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "for",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "of",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 11,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 14,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Identifier",
- "value": "doSomething",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 25,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 40,
- 41
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/forOf/for-of-with-var-and-no-braces.result.js b/tests/fixtures/ecma-features/forOf/for-of-with-var-and-no-braces.result.js
deleted file mode 100644
index 8d08dde..0000000
--- a/tests/fixtures/ecma-features/forOf/for-of-with-var-and-no-braces.result.js
+++ /dev/null
@@ -1,364 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "range": [
- 0,
- 37
- ],
- "body": [
- {
- "type": "ForOfStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "range": [
- 0,
- 37
- ],
- "left": {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 5,
- 10
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "x"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 14,
- 17
- ],
- "name": "foo"
- },
- "body": {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "range": [
- 23,
- 37
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "range": [
- 23,
- 36
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 23,
- 34
- ],
- "name": "doSomething"
- },
- "arguments": []
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "for",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "of",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 11,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 14,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "doSomething",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 23,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "range": [
- 36,
- 37
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/forOf/invalid-for-of-with-const-and-no-braces.result.js b/tests/fixtures/ecma-features/forOf/invalid-for-of-with-const-and-no-braces.result.js
deleted file mode 100644
index d709253..0000000
--- a/tests/fixtures/ecma-features/forOf/invalid-for-of-with-const-and-no-braces.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Unexpected token const"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/forOf/invalid-for-of-with-let-and-no-braces.result.js b/tests/fixtures/ecma-features/forOf/invalid-for-of-with-let-and-no-braces.result.js
deleted file mode 100644
index 37b7240..0000000
--- a/tests/fixtures/ecma-features/forOf/invalid-for-of-with-let-and-no-braces.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Unexpected token let"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/generators/anonymous-generator.result.js b/tests/fixtures/ecma-features/generators/anonymous-generator.result.js
deleted file mode 100644
index c7963c6..0000000
--- a/tests/fixtures/ecma-features/generators/anonymous-generator.result.js
+++ /dev/null
@@ -1,331 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 1,
- 25
- ],
- "id": null,
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 14,
- 25
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 16,
- 23
- ],
- "expression": {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 16,
- 23
- ],
- "delegate": false,
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "name": "v"
- }
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "v",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/async-generator-function.result.js b/tests/fixtures/ecma-features/generators/async-generator-function.result.js
deleted file mode 100644
index aca20ef..0000000
--- a/tests/fixtures/ecma-features/generators/async-generator-function.result.js
+++ /dev/null
@@ -1,223 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 1,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 1,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 17,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "name": "foo"
- },
- "generator": true,
- "expression": false,
- "async": true,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "range": [
- 23,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "async",
- "range": [
- 1,
- 6
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 7,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 17,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/async-generator-method.result.js b/tests/fixtures/ecma-features/generators/async-generator-method.result.js
deleted file mode 100644
index 79bad53..0000000
--- a/tests/fixtures/ecma-features/generators/async-generator-method.result.js
+++ /dev/null
@@ -1,629 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "C"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "name": "f"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": true,
- "expression": false,
- "async": true,
- "body": {
- "type": "BlockStatement",
- "range": [
- 26,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 36,
- 57
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 29
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 42,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "name": "x"
- },
- "init": {
- "type": "YieldExpression",
- "range": [
- 46,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "delegate": true,
- "argument": {
- "type": "CallExpression",
- "range": [
- 53,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 26
- }
- },
- "name": "g"
- },
- "arguments": []
- }
- }
- }
- ],
- "kind": "const"
- }
- ]
- },
- "range": [
- 23,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "async",
- "range": [
- 14,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "f",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Keyword",
- "value": "const",
- "range": [
- 36,
- 41
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 17
- }
- }
- },
- {
- "type": "Keyword",
- "value": "yield",
- "range": [
- 46,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 24
- }
- }
- },
- {
- "type": "Identifier",
- "value": "g",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 54,
- 55
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 27
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/double-yield.result.js b/tests/fixtures/ecma-features/generators/double-yield.result.js
deleted file mode 100644
index 3bf284b..0000000
--- a/tests/fixtures/ecma-features/generators/double-yield.result.js
+++ /dev/null
@@ -1,368 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 0,
- 34
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 0,
- 34
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 1,
- 32
- ],
- "id": null,
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 14,
- 32
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 16,
- 30
- ],
- "expression": {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 16,
- 30
- ],
- "delegate": false,
- "argument": {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 22,
- 30
- ],
- "delegate": false,
- "argument": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 28,
- 30
- ],
- "value": 10,
- "raw": "10"
- }
- }
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 22,
- 27
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 28,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/empty-generator-declaration.result.js b/tests/fixtures/ecma-features/generators/empty-generator-declaration.result.js
deleted file mode 100644
index e79bfbf..0000000
--- a/tests/fixtures/ecma-features/generators/empty-generator-declaration.result.js
+++ /dev/null
@@ -1,240 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "t"
- },
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "t",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/generator-declaration.result.js b/tests/fixtures/ecma-features/generators/generator-declaration.result.js
deleted file mode 100644
index 7f0e5cf..0000000
--- a/tests/fixtures/ecma-features/generators/generator-declaration.result.js
+++ /dev/null
@@ -1,348 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 10,
- 14
- ],
- "name": "test"
- },
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 18,
- 30
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 20,
- 28
- ],
- "expression": {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 20,
- 28
- ],
- "delegate": true,
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ],
- "name": "v"
- }
- }
- }
- ]
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "test",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 10,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 20,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Identifier",
- "value": "v",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/yield-delegation.result.js b/tests/fixtures/ecma-features/generators/yield-delegation.result.js
deleted file mode 100644
index 96c3687..0000000
--- a/tests/fixtures/ecma-features/generators/yield-delegation.result.js
+++ /dev/null
@@ -1,349 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 1,
- 26
- ],
- "id": null,
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 14,
- 26
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 16,
- 24
- ],
- "expression": {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 16,
- 24
- ],
- "delegate": true,
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ],
- "name": "v"
- }
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "v",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/yield-without-value-in-call.result.js b/tests/fixtures/ecma-features/generators/yield-without-value-in-call.result.js
deleted file mode 100644
index 9e7af39..0000000
--- a/tests/fixtures/ecma-features/generators/yield-without-value-in-call.result.js
+++ /dev/null
@@ -1,405 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 1,
- 28
- ],
- "id": null,
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 14,
- 28
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 16,
- 26
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 16,
- 25
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ],
- "name": "fn"
- },
- "arguments": [
- {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 19,
- 24
- ],
- "delegate": false,
- "argument": null
- }
- ]
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "fn",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 19,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/yield-without-value-no-semi.result.js b/tests/fixtures/ecma-features/generators/yield-without-value-no-semi.result.js
deleted file mode 100644
index a367eec..0000000
--- a/tests/fixtures/ecma-features/generators/yield-without-value-no-semi.result.js
+++ /dev/null
@@ -1,296 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 1,
- 23
- ],
- "id": null,
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 14,
- 23
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "expression": {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "delegate": false,
- "argument": null
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/generators/yield-without-value.result.js b/tests/fixtures/ecma-features/generators/yield-without-value.result.js
deleted file mode 100644
index 08032f3..0000000
--- a/tests/fixtures/ecma-features/generators/yield-without-value.result.js
+++ /dev/null
@@ -1,314 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "expression": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 1,
- 24
- ],
- "id": null,
- "generator": true,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 14,
- 24
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 16,
- 22
- ],
- "expression": {
- "type": "YieldExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "delegate": false,
- "argument": null
- }
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 1,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Keyword",
- "value": "yield",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/globalReturn/return-identifier.result.js b/tests/fixtures/ecma-features/globalReturn/return-identifier.result.js
deleted file mode 100644
index f6a7a06..0000000
--- a/tests/fixtures/ecma-features/globalReturn/return-identifier.result.js
+++ /dev/null
@@ -1,111 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ReturnStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 7,
- 11
- ],
- "name": "fooz"
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "return",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "fooz",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 7,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/globalReturn/return-no-arg.result.js b/tests/fixtures/ecma-features/globalReturn/return-no-arg.result.js
deleted file mode 100644
index 9eeaf9d..0000000
--- a/tests/fixtures/ecma-features/globalReturn/return-no-arg.result.js
+++ /dev/null
@@ -1,76 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 0,
- 7
- ],
- "body": [
- {
- "type": "ReturnStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 0,
- 7
- ],
- "argument": null
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "return",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/globalReturn/return-true.result.js b/tests/fixtures/ecma-features/globalReturn/return-true.result.js
deleted file mode 100644
index 612b752..0000000
--- a/tests/fixtures/ecma-features/globalReturn/return-true.result.js
+++ /dev/null
@@ -1,112 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ReturnStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "argument": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 7,
- 11
- ],
- "value": true,
- "raw": "true"
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "return",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Boolean",
- "value": "true",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 7,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/error-delete.result.js b/tests/fixtures/ecma-features/modules/error-delete.result.js
deleted file mode 100644
index 9eeb5c8..0000000
--- a/tests/fixtures/ecma-features/modules/error-delete.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 19,
- "lineNumber": 2,
- "column": 1,
- "message": "Deleting local variable in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/error-function.result.js b/tests/fixtures/ecma-features/modules/error-function.result.js
deleted file mode 100644
index 1ad46aa..0000000
--- a/tests/fixtures/ecma-features/modules/error-function.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 16,
- "lineNumber": 2,
- "column": 2,
- "message": "'import' and 'export' may only appear at the top level"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/error-strict.result.js b/tests/fixtures/ecma-features/modules/error-strict.result.js
deleted file mode 100644
index 5a85a96..0000000
--- a/tests/fixtures/ecma-features/modules/error-strict.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 28,
- "lineNumber": 3,
- "column": 1,
- "message": "'with' in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-default-array.result.js b/tests/fixtures/ecma-features/modules/export-default-array.result.js
deleted file mode 100644
index 6aec568..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-array.result.js
+++ /dev/null
@@ -1,147 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "declaration": {
- "type": "ArrayExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ],
- "elements": []
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-default-class.result.js b/tests/fixtures/ecma-features/modules/export-default-class.result.js
deleted file mode 100644
index 68d9008..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-class.result.js
+++ /dev/null
@@ -1,168 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 15,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": null,
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 21,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "default",
- "range": [
- 7,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 15,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/modules/export-default-expression.result.js b/tests/fixtures/ecma-features/modules/export-default-expression.result.js
deleted file mode 100644
index b9e8b97..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-expression.result.js
+++ /dev/null
@@ -1,239 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "declaration": {
- "type": "BinaryExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "left": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ],
- "value": 1,
- "raw": "1"
- },
- "operator": "+",
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "value": 2,
- "raw": "2"
- }
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "+",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Numeric",
- "value": "2",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-default-function.result.js b/tests/fixtures/ecma-features/modules/export-default-function.result.js
deleted file mode 100644
index 4cd2c26..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-function.result.js
+++ /dev/null
@@ -1,205 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "declaration": {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 15,
- 29
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 27,
- 29
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 15,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/modules/export-default-named-class.result.js b/tests/fixtures/ecma-features/modules/export-default-named-class.result.js
deleted file mode 100644
index fa48618..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-named-class.result.js
+++ /dev/null
@@ -1,203 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 15,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 21,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "name": "Test"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 26,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "default",
- "range": [
- 7,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 15,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Test",
- "range": [
- 21,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/modules/export-default-named-function.result.js b/tests/fixtures/ecma-features/modules/export-default-named-function.result.js
deleted file mode 100644
index 8e5b362..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-named-function.result.js
+++ /dev/null
@@ -1,240 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "declaration": {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 15,
- 32
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "name": "foo"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 30,
- 32
- ],
- "body": []
- }
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 15,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/modules/export-default-number.result.js b/tests/fixtures/ecma-features/modules/export-default-number.result.js
deleted file mode 100644
index e90a1fc..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-number.result.js
+++ /dev/null
@@ -1,130 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "declaration": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ],
- "value": 42,
- "raw": "42"
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Numeric",
- "value": "42",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-default-object.result.js b/tests/fixtures/ecma-features/modules/export-default-object.result.js
deleted file mode 100644
index fd5403f..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-object.result.js
+++ /dev/null
@@ -1,260 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "declaration": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 15,
- 25
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 17,
- 23
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 17,
- 20
- ],
- "name": "foo"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ],
- "value": 1,
- "raw": "1"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 17,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-default-value.result.js b/tests/fixtures/ecma-features/modules/export-default-value.result.js
deleted file mode 100644
index efb2f08..0000000
--- a/tests/fixtures/ecma-features/modules/export-default-value.result.js
+++ /dev/null
@@ -1,129 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "declaration": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ],
- "name": "foo"
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 7,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-from-batch.result.js b/tests/fixtures/ecma-features/modules/export-from-batch.result.js
deleted file mode 100644
index 389efcd..0000000
--- a/tests/fixtures/ecma-features/modules/export-from-batch.result.js
+++ /dev/null
@@ -1,148 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "body": [
- {
- "type": "ExportAllDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 14,
- 19
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 9,
- 13
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 14,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-from-default.result.js b/tests/fixtures/ecma-features/modules/export-from-default.result.js
deleted file mode 100644
index 3b80ac3..0000000
--- a/tests/fixtures/ecma-features/modules/export-from-default.result.js
+++ /dev/null
@@ -1,240 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 8,
- 15
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 8,
- 15
- ],
- "name": "default"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 8,
- 15
- ],
- "name": "default"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 22,
- 27
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 8,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 17,
- 21
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 22,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-from-named-as-default.result.js b/tests/fixtures/ecma-features/modules/export-from-named-as-default.result.js
deleted file mode 100644
index 8ee014b..0000000
--- a/tests/fixtures/ecma-features/modules/export-from-named-as-default.result.js
+++ /dev/null
@@ -1,276 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 8,
- 22
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ],
- "name": "default"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 29,
- 34
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 24,
- 28
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 29,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-from-named-as-specifier.result.js b/tests/fixtures/ecma-features/modules/export-from-named-as-specifier.result.js
deleted file mode 100644
index f9ab0f9..0000000
--- a/tests/fixtures/ecma-features/modules/export-from-named-as-specifier.result.js
+++ /dev/null
@@ -1,276 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 8,
- 18
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ],
- "name": "bar"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 25,
- 30
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 20,
- 24
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 25,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-from-named-as-specifiers.result.js b/tests/fixtures/ecma-features/modules/export-from-named-as-specifiers.result.js
deleted file mode 100644
index 1366292..0000000
--- a/tests/fixtures/ecma-features/modules/export-from-named-as-specifiers.result.js
+++ /dev/null
@@ -1,365 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 0,
- 40
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 0,
- 40
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 8,
- 22
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ],
- "name": "default"
- }
- },
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "name": "bar"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "name": "bar"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 34,
- 39
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 29,
- 33
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 34,
- 39
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 39,
- 40
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-from-specifier.result.js b/tests/fixtures/ecma-features/modules/export-from-specifier.result.js
deleted file mode 100644
index 1d3a6b8..0000000
--- a/tests/fixtures/ecma-features/modules/export-from-specifier.result.js
+++ /dev/null
@@ -1,240 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 18,
- 23
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 13,
- 17
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 18,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-from-specifiers.result.js b/tests/fixtures/ecma-features/modules/export-from-specifiers.result.js
deleted file mode 100644
index 9b2dc6f..0000000
--- a/tests/fixtures/ecma-features/modules/export-from-specifiers.result.js
+++ /dev/null
@@ -1,329 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- }
- },
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 23,
- 28
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 18,
- 22
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 23,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-function.result.js b/tests/fixtures/ecma-features/modules/export-function.result.js
deleted file mode 100644
index 92e3721..0000000
--- a/tests/fixtures/ecma-features/modules/export-function.result.js
+++ /dev/null
@@ -1,224 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "declaration": {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 7,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 16,
- 19
- ],
- "name": "foo"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 23,
- 25
- ],
- "body": []
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 7,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 16,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/modules/export-named-as-default.result.js b/tests/fixtures/ecma-features/modules/export-named-as-default.result.js
deleted file mode 100644
index 86a5787..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-as-default.result.js
+++ /dev/null
@@ -1,222 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 8,
- 22
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ],
- "name": "default"
- }
- }
- ],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-named-as-specifier.result.js b/tests/fixtures/ecma-features/modules/export-named-as-specifier.result.js
deleted file mode 100644
index 66bf900..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-as-specifier.result.js
+++ /dev/null
@@ -1,222 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 8,
- 18
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ],
- "name": "bar"
- }
- }
- ],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-named-as-specifiers.result.js b/tests/fixtures/ecma-features/modules/export-named-as-specifiers.result.js
deleted file mode 100644
index 6ac7d47..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-as-specifiers.result.js
+++ /dev/null
@@ -1,311 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 8,
- 22
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ],
- "name": "default"
- }
- },
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "name": "bar"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "name": "bar"
- }
- }
- ],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 15,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-named-class.result.js b/tests/fixtures/ecma-features/modules/export-named-class.result.js
deleted file mode 100644
index b265290..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-class.result.js
+++ /dev/null
@@ -1,188 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 7,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 13,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "Test"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 18,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 7,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Test",
- "range": [
- 13,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
-
diff --git a/tests/fixtures/ecma-features/modules/export-named-empty.result.js b/tests/fixtures/ecma-features/modules/export-named-empty.result.js
deleted file mode 100644
index 04d96aa..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-empty.result.js
+++ /dev/null
@@ -1,114 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "declaration": null,
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-named-specifier.result.js b/tests/fixtures/ecma-features/modules/export-named-specifier.result.js
deleted file mode 100644
index 05e6245..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-specifier.result.js
+++ /dev/null
@@ -1,186 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- }
- }
- ],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-named-specifiers-comma.result.js b/tests/fixtures/ecma-features/modules/export-named-specifiers-comma.result.js
deleted file mode 100644
index 75467b1..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-specifiers-comma.result.js
+++ /dev/null
@@ -1,293 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- }
- },
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- }
- }
- ],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-named-specifiers.result.js b/tests/fixtures/ecma-features/modules/export-named-specifiers.result.js
deleted file mode 100644
index eec1bef..0000000
--- a/tests/fixtures/ecma-features/modules/export-named-specifiers.result.js
+++ /dev/null
@@ -1,275 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "declaration": null,
- "specifiers": [
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "foo"
- }
- },
- {
- "type": "ExportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- },
- "exported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- }
- }
- ],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-var-anonymous-function.result.js b/tests/fixtures/ecma-features/modules/export-var-anonymous-function.result.js
deleted file mode 100644
index a29d309..0000000
--- a/tests/fixtures/ecma-features/modules/export-var-anonymous-function.result.js
+++ /dev/null
@@ -1,316 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "declaration": {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 7,
- 32
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 11,
- 31
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ],
- "name": "foo"
- },
- "init": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 17,
- 31
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 29,
- 31
- ],
- "body": []
- }
- }
- }
- ],
- "kind": "var"
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 17,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/modules/export-var-number.result.js b/tests/fixtures/ecma-features/modules/export-var-number.result.js
deleted file mode 100644
index 471bfa3..0000000
--- a/tests/fixtures/ecma-features/modules/export-var-number.result.js
+++ /dev/null
@@ -1,223 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "declaration": {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 7,
- 19
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 11,
- 18
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ],
- "name": "foo"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "value": 1,
- "raw": "1"
- }
- }
- ],
- "kind": "var"
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Numeric",
- "value": "1",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/export-var.result.js b/tests/fixtures/ecma-features/modules/export-var.result.js
deleted file mode 100644
index 25534f3..0000000
--- a/tests/fixtures/ecma-features/modules/export-var.result.js
+++ /dev/null
@@ -1,169 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "declaration": {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 7,
- 15
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ],
- "name": "bar"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-default-and-named-specifiers.result.js b/tests/fixtures/ecma-features/modules/import-default-and-named-specifiers.result.js
deleted file mode 100644
index 9f13762..0000000
--- a/tests/fixtures/ecma-features/modules/import-default-and-named-specifiers.result.js
+++ /dev/null
@@ -1,310 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "specifiers": [
- {
- "type": "ImportDefaultSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "name": "foo"
- }
- },
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "bar"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 23,
- 28
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 18,
- 22
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 23,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-default-and-namespace-specifiers.result.js b/tests/fixtures/ecma-features/modules/import-default-and-namespace-specifiers.result.js
deleted file mode 100644
index 0a6962e..0000000
--- a/tests/fixtures/ecma-features/modules/import-default-and-namespace-specifiers.result.js
+++ /dev/null
@@ -1,292 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "specifiers": [
- {
- "type": "ImportDefaultSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "name": "foo"
- }
- },
- {
- "type": "ImportNamespaceSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 12,
- 20
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 17,
- 20
- ],
- "name": "bar"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 26,
- 31
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 17,
- 20
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 21,
- 25
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 26,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-default-as.result.js b/tests/fixtures/ecma-features/modules/import-default-as.result.js
deleted file mode 100644
index eebf0b8..0000000
--- a/tests/fixtures/ecma-features/modules/import-default-as.result.js
+++ /dev/null
@@ -1,275 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "specifiers": [
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 8,
- 22
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 8,
- 15
- ],
- "name": "default"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 19,
- 22
- ],
- "name": "foo"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 29,
- 34
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Keyword",
- "value": "default",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 8,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 16,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 19,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 24,
- 28
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 29,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-default.result.js b/tests/fixtures/ecma-features/modules/import-default.result.js
deleted file mode 100644
index 302d67e..0000000
--- a/tests/fixtures/ecma-features/modules/import-default.result.js
+++ /dev/null
@@ -1,185 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "specifiers": [
- {
- "type": "ImportDefaultSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "name": "foo"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 11,
- 15
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-jquery.result.js b/tests/fixtures/ecma-features/modules/import-jquery.result.js
deleted file mode 100644
index d9f8615..0000000
--- a/tests/fixtures/ecma-features/modules/import-jquery.result.js
+++ /dev/null
@@ -1,167 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "specifiers": [
- {
- "type": "ImportDefaultSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "$"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 14,
- 22
- ],
- "value": "jquery",
- "raw": "\"jquery\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "$",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 9,
- 13
- ]
- },
- {
- "type": "String",
- "value": "\"jquery\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 14,
- 22
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-module.result.js b/tests/fixtures/ecma-features/modules/import-module.result.js
deleted file mode 100644
index 3db364e..0000000
--- a/tests/fixtures/ecma-features/modules/import-module.result.js
+++ /dev/null
@@ -1,113 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "specifiers": [],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 7,
- 12
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 7,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-named-as-specifier.result.js b/tests/fixtures/ecma-features/modules/import-named-as-specifier.result.js
deleted file mode 100644
index 0990b1a..0000000
--- a/tests/fixtures/ecma-features/modules/import-named-as-specifier.result.js
+++ /dev/null
@@ -1,275 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "specifiers": [
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 8,
- 18
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ],
- "name": "baz"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 25,
- 30
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "baz",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 20,
- 24
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 25,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-named-as-specifiers.result.js b/tests/fixtures/ecma-features/modules/import-named-as-specifiers.result.js
deleted file mode 100644
index 29bc59f..0000000
--- a/tests/fixtures/ecma-features/modules/import-named-as-specifiers.result.js
+++ /dev/null
@@ -1,364 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 0,
- 36
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 0,
- 36
- ],
- "specifiers": [
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 8,
- 18
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ],
- "name": "baz"
- }
- },
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ],
- "name": "xyz"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ],
- "name": "xyz"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 30,
- 35
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "baz",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Identifier",
- "value": "xyz",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 25,
- 29
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 30,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-named-empty.result.js b/tests/fixtures/ecma-features/modules/import-named-empty.result.js
deleted file mode 100644
index eee15fe..0000000
--- a/tests/fixtures/ecma-features/modules/import-named-empty.result.js
+++ /dev/null
@@ -1,167 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 0,
- 21
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 0,
- 21
- ],
- "specifiers": [],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 15,
- 20
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 10,
- 14
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 15,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-named-specifier.result.js b/tests/fixtures/ecma-features/modules/import-named-specifier.result.js
deleted file mode 100644
index 531a0c3..0000000
--- a/tests/fixtures/ecma-features/modules/import-named-specifier.result.js
+++ /dev/null
@@ -1,239 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "specifiers": [
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 18,
- 23
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 13,
- 17
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 18,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-named-specifiers-comma.result.js b/tests/fixtures/ecma-features/modules/import-named-specifiers-comma.result.js
deleted file mode 100644
index da3b7c5..0000000
--- a/tests/fixtures/ecma-features/modules/import-named-specifiers-comma.result.js
+++ /dev/null
@@ -1,346 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 0,
- 30
- ],
- "specifiers": [
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- }
- },
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "baz"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "baz"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 24,
- 29
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "baz",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 19,
- 23
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 24,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-named-specifiers.result.js b/tests/fixtures/ecma-features/modules/import-named-specifiers.result.js
deleted file mode 100644
index ae83c96..0000000
--- a/tests/fixtures/ecma-features/modules/import-named-specifiers.result.js
+++ /dev/null
@@ -1,328 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "specifiers": [
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ],
- "name": "bar"
- }
- },
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "baz"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "baz"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 23,
- 28
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 8,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Identifier",
- "value": "baz",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 18,
- 22
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 23,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-namespace-specifier.result.js b/tests/fixtures/ecma-features/modules/import-namespace-specifier.result.js
deleted file mode 100644
index 442bcf2..0000000
--- a/tests/fixtures/ecma-features/modules/import-namespace-specifier.result.js
+++ /dev/null
@@ -1,221 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "specifiers": [
- {
- "type": "ImportNamespaceSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 7,
- 15
- ],
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ],
- "name": "foo"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 21,
- 26
- ],
- "value": "foo",
- "raw": "\"foo\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "*",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 9,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 12,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 16,
- 20
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 21,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/import-null-as-nil.result.js b/tests/fixtures/ecma-features/modules/import-null-as-nil.result.js
deleted file mode 100644
index 51de862..0000000
--- a/tests/fixtures/ecma-features/modules/import-null-as-nil.result.js
+++ /dev/null
@@ -1,257 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 0,
- 33
- ],
- "body": [
- {
- "type": "ImportDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 0,
- 33
- ],
- "specifiers": [
- {
- "type": "ImportSpecifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 9,
- 20
- ],
- "imported": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 9,
- 13
- ],
- "name": "null"
- },
- "local": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 17,
- 20
- ],
- "name": "nil"
- }
- }
- ],
- "source": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 28,
- 33
- ],
- "value": "bar",
- "raw": "\"bar\""
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "import",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Null",
- "value": "null",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 9,
- 13
- ]
- },
- {
- "type": "Identifier",
- "value": "as",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "nil",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 17,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "from",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 23,
- 27
- ]
- },
- {
- "type": "String",
- "value": "\"bar\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 28,
- 33
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-await.result.js b/tests/fixtures/ecma-features/modules/invalid-await.result.js
deleted file mode 100644
index 17d1ba5..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-await.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 11,
- "lineNumber": 1,
- "column": 12,
- "message": "Unexpected token await"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-class.result.js b/tests/fixtures/ecma-features/modules/invalid-class.result.js
deleted file mode 100644
index 25e055b..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-class.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Unexpected token class"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-batch-missing-from-clause.result.js b/tests/fixtures/ecma-features/modules/invalid-export-batch-missing-from-clause.result.js
deleted file mode 100644
index f2375cd..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-batch-missing-from-clause.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 9,
- "lineNumber": 2,
- "column": 1,
- "message": "Unexpected token"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-batch-token.result.js b/tests/fixtures/ecma-features/modules/invalid-export-batch-token.result.js
deleted file mode 100644
index fa80be0..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-batch-token.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 9,
- "lineNumber": 1,
- "column": 10,
- "message": "Unexpected token +"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-default-equal.result.js b/tests/fixtures/ecma-features/modules/invalid-export-default-equal.result.js
deleted file mode 100644
index 2307539..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-default-equal.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Unexpected token ="
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-default-token.result.js b/tests/fixtures/ecma-features/modules/invalid-export-default-token.result.js
deleted file mode 100644
index 7d0e4da..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-default-token.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 8,
- "lineNumber": 1,
- "column": 9,
- "message": "Unexpected token default"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-default.result.js b/tests/fixtures/ecma-features/modules/invalid-export-default.result.js
deleted file mode 100644
index 3bfa9d5..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-default.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 20,
- "lineNumber": 1,
- "column": 21,
- "message": "Unexpected token \"foo\""
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-named-default.result.js b/tests/fixtures/ecma-features/modules/invalid-export-named-default.result.js
deleted file mode 100644
index 7d0e4da..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-named-default.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 8,
- "lineNumber": 1,
- "column": 9,
- "message": "Unexpected token default"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-named-extra-comma.result.js b/tests/fixtures/ecma-features/modules/invalid-export-named-extra-comma.result.js
deleted file mode 100644
index 71fbc25..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-named-extra-comma.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 16,
- "lineNumber": 1,
- "column": 17,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-export-named-middle-comma.result.js b/tests/fixtures/ecma-features/modules/invalid-export-named-middle-comma.result.js
deleted file mode 100644
index 2650c22..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-export-named-middle-comma.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 12,
- "lineNumber": 1,
- "column": 13,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-default-after-named-after-default.result.js b/tests/fixtures/ecma-features/modules/invalid-import-default-after-named-after-default.result.js
deleted file mode 100644
index 3840ae7..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-default-after-named-after-default.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 17,
- "lineNumber": 1,
- "column": 18,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-default-after-named.result.js b/tests/fixtures/ecma-features/modules/invalid-import-default-after-named.result.js
deleted file mode 100644
index 2650c22..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-default-after-named.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 12,
- "lineNumber": 1,
- "column": 13,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-default-missing-module-specifier.result.js b/tests/fixtures/ecma-features/modules/invalid-import-default-missing-module-specifier.result.js
deleted file mode 100644
index 67cd07b..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-default-missing-module-specifier.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 11,
- "lineNumber": 2,
- "column": 1,
- "message": "Unexpected token"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-default-module-specifier.result.js b/tests/fixtures/ecma-features/modules/invalid-import-default-module-specifier.result.js
deleted file mode 100644
index 9b520a5..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-default-module-specifier.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 16,
- "lineNumber": 1,
- "column": 17,
- "message": "Unexpected token bar"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-default.result.js b/tests/fixtures/ecma-features/modules/invalid-import-default.result.js
deleted file mode 100644
index b2c0d7d..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-default.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 7,
- "lineNumber": 1,
- "column": 8,
- "message": "Unexpected token default"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-missing-module-specifier.result.js b/tests/fixtures/ecma-features/modules/invalid-import-missing-module-specifier.result.js
deleted file mode 100644
index 56b2c92..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-missing-module-specifier.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 20,
- "lineNumber": 2,
- "column": 1,
- "message": "Unexpected token"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-module-specifier.result.js b/tests/fixtures/ecma-features/modules/invalid-import-module-specifier.result.js
deleted file mode 100644
index 27e1b80..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-module-specifier.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 18,
- "lineNumber": 1,
- "column": 19,
- "message": "Unexpected token bar"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-named-after-named.result.js b/tests/fixtures/ecma-features/modules/invalid-import-named-after-named.result.js
deleted file mode 100644
index 2650c22..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-named-after-named.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 12,
- "lineNumber": 1,
- "column": 13,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-named-after-namespace.result.js b/tests/fixtures/ecma-features/modules/invalid-import-named-after-namespace.result.js
deleted file mode 100644
index 397186e..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-named-after-namespace.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 15,
- "lineNumber": 1,
- "column": 16,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-named-as-missing-from.result.js b/tests/fixtures/ecma-features/modules/invalid-import-named-as-missing-from.result.js
deleted file mode 100644
index 1df2bf9..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-named-as-missing-from.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 24,
- "lineNumber": 2,
- "column": 1,
- "message": "Unexpected token"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-named-extra-comma.result.js b/tests/fixtures/ecma-features/modules/invalid-import-named-extra-comma.result.js
deleted file mode 100644
index 71fbc25..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-named-extra-comma.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 16,
- "lineNumber": 1,
- "column": 17,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-named-middle-comma.result.js b/tests/fixtures/ecma-features/modules/invalid-import-named-middle-comma.result.js
deleted file mode 100644
index 2650c22..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-named-middle-comma.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 12,
- "lineNumber": 1,
- "column": 13,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-namespace-after-named.result.js b/tests/fixtures/ecma-features/modules/invalid-import-namespace-after-named.result.js
deleted file mode 100644
index 2650c22..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-namespace-after-named.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 12,
- "lineNumber": 1,
- "column": 13,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/modules/invalid-import-namespace-missing-as.result.js b/tests/fixtures/ecma-features/modules/invalid-import-namespace-missing-as.result.js
deleted file mode 100644
index cf21fb2..0000000
--- a/tests/fixtures/ecma-features/modules/invalid-import-namespace-missing-as.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 9,
- "lineNumber": 1,
- "column": 10,
- "message": "Unexpected token from"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/newTarget/invalid-new-target.result.js b/tests/fixtures/ecma-features/newTarget/invalid-new-target.result.js
deleted file mode 100644
index deaf329..0000000
--- a/tests/fixtures/ecma-features/newTarget/invalid-new-target.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 8,
- "lineNumber": 1,
- "column": 9,
- "message": "new.target can only be used in functions"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/newTarget/invalid-unknown-property.result.js b/tests/fixtures/ecma-features/newTarget/invalid-unknown-property.result.js
deleted file mode 100644
index 52de9c6..0000000
--- a/tests/fixtures/ecma-features/newTarget/invalid-unknown-property.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 25,
- "lineNumber": 1,
- "column": 26,
- "message": "The only valid meta property for new is new.target"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/newTarget/simple-new-target.result.js b/tests/fixtures/ecma-features/newTarget/simple-new-target.result.js
deleted file mode 100644
index 3c6ea66..0000000
--- a/tests/fixtures/ecma-features/newTarget/simple-new-target.result.js
+++ /dev/null
@@ -1,422 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 0,
- 40
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 0,
- 40
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "f"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 13,
- 40
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 19,
- 38
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 23,
- 37
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 23,
- 24
- ],
- "name": "x"
- },
- "init": {
- "type": "MetaProperty",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 27,
- 37
- ],
- "meta": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 27,
- 30
- ],
- "name": "new"
- },
- "property": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 31,
- 37
- ],
- "name": "target"
- }
- }
- }
- ],
- "kind": "var"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 19,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Keyword",
- "value": "new",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 27,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Identifier",
- "value": "target",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 31,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 39,
- 40
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-addition-property.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-addition-property.result.js
deleted file mode 100644
index d9878c1..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-addition-property.result.js
+++ /dev/null
@@ -1,425 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 0,
- 29
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 4,
- 28
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 8,
- 28
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 14,
- 26
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "BinaryExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 15,
- 20
- ],
- "left": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- },
- "range": [
- 15,
- 16
- ],
- "value": 5,
- "raw": "5"
- },
- "operator": "+",
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 19,
- 20
- ],
- "value": 5,
- "raw": "5"
- }
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 23,
- 26
- ],
- "name": "foo"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Numeric",
- "value": "5",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "+",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Numeric",
- "value": "5",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 23,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-and-identifier.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-and-identifier.result.js
deleted file mode 100644
index 223995b..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-and-identifier.result.js
+++ /dev/null
@@ -1,426 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 1,
- 17
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 2,
- 9
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "x"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ],
- "value": 10,
- "raw": "10"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 11,
- 16
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "y"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ],
- "value": 20,
- "raw": "20"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Numeric",
- "value": "20",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 14,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-getter-and-setter.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-getter-and-setter.result.js
deleted file mode 100644
index 1d335d9..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-getter-and-setter.result.js
+++ /dev/null
@@ -1,649 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 1,
- 30
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 2,
- 14
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "x"
- },
- "kind": "get",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 12,
- 14
- ],
- "body": []
- }
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 16,
- 29
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ],
- "name": "x"
- },
- "kind": "set",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 23,
- 29
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ],
- "name": "v"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 27,
- 29
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 2,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 16,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "v",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-string-property.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-string-property.result.js
deleted file mode 100644
index 758277e..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-string-property.result.js
+++ /dev/null
@@ -1,352 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 0,
- 29
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 4,
- 28
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 8,
- 28
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 14,
- 26
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 15,
- 20
- ],
- "value": "hey",
- "raw": "\"hey\""
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 23,
- 26
- ],
- "name": "foo"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "String",
- "value": "\"hey\"",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 15,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 23,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-variable-property.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-variable-property.result.js
deleted file mode 100644
index fa5f0d5..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/computed-variable-property.result.js
+++ /dev/null
@@ -1,351 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 0,
- 27
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 4,
- 26
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 8,
- 26
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 14,
- 24
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 15,
- 18
- ],
- "name": "bar"
- },
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 21,
- 24
- ],
- "name": "foo"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 21,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/invalid-computed-variable-property.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/invalid-computed-variable-property.result.js
deleted file mode 100644
index e253e4b..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/invalid-computed-variable-property.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 20,
- "lineNumber": 3,
- "column": 1,
- "message": "Unexpected token }"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/invalid-standalone-computed-variable-property.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/invalid-standalone-computed-variable-property.result.js
deleted file mode 100644
index f718013..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/invalid-standalone-computed-variable-property.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Unexpected token }"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression-with-addition.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression-with-addition.result.js
deleted file mode 100644
index 750041c..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression-with-addition.result.js
+++ /dev/null
@@ -1,370 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 1,
- 18
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 2,
- 17
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "BinaryExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 3,
- 12
- ],
- "left": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 3,
- 6
- ],
- "value": "x",
- "raw": "\"x\""
- },
- "operator": "+",
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ],
- "value": "y",
- "raw": "\"y\""
- }
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ],
- "value": 10,
- "raw": "10"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "String",
- "value": "\"x\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 3,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "+",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "String",
- "value": "\"y\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 15,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression-with-method.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression-with-method.result.js
deleted file mode 100644
index fa34bcf..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression-with-method.result.js
+++ /dev/null
@@ -1,389 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 1,
- 21
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 2,
- 20
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "x"
- },
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 7,
- 20
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 18,
- 20
- ],
- "body": []
- }
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 7,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression.result.js b/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression.result.js
deleted file mode 100644
index e970140..0000000
--- a/tests/fixtures/ecma-features/objectLiteralComputedProperties/standalone-expression.result.js
+++ /dev/null
@@ -1,296 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "expression": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 1,
- 10
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 2,
- 9
- ],
- "method": false,
- "shorthand": false,
- "computed": true,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "x"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ],
- "value": 10,
- "raw": "10"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "[",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "]",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Numeric",
- "value": "10",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/error-proto-property.result.js b/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/error-proto-property.result.js
deleted file mode 100644
index 976511e..0000000
--- a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/error-proto-property.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 62,
- "lineNumber": 7,
- "column": 2,
- "message": "Redefinition of __proto__ property"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/error-proto-string-property.result.js b/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/error-proto-string-property.result.js
deleted file mode 100644
index 4d43f85..0000000
--- a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/error-proto-string-property.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 64,
- "lineNumber": 7,
- "column": 2,
- "message": "Redefinition of __proto__ property"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/strict-duplicate-properties.result.js b/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/strict-duplicate-properties.result.js
deleted file mode 100644
index 9747c26..0000000
--- a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/strict-duplicate-properties.result.js
+++ /dev/null
@@ -1,518 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 2
- }
- },
- "range": [
- 0,
- 53
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "value": "use strict",
- "raw": "\"use strict\""
- }
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 2
- }
- },
- "range": [
- 15,
- 53
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 19,
- 52
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 23,
- 52
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 11
- }
- },
- "range": [
- 26,
- 36
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 26,
- 27
- ],
- "name": "y"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 11
- }
- },
- "range": [
- 29,
- 36
- ],
- "value": "first",
- "raw": "'first'"
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 12
- }
- },
- "range": [
- 39,
- 50
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 39,
- 40
- ],
- "name": "y"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 12
- }
- },
- "range": [
- 42,
- 50
- ],
- "value": "second",
- "raw": "'second'"
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "String",
- "value": "\"use strict\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 3
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 3,
- "column": 6
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "String",
- "value": "'first'",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 11
- }
- },
- "range": [
- 29,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 12
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Identifier",
- "value": "y",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 39,
- 40
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "String",
- "value": "'second'",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 12
- }
- },
- "range": [
- 42,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 51,
- 52
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 6,
- "column": 1
- },
- "end": {
- "line": 6,
- "column": 2
- }
- },
- "range": [
- 52,
- 53
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/strict-duplicate-string-properties.result.js b/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/strict-duplicate-string-properties.result.js
deleted file mode 100644
index 128460a..0000000
--- a/tests/fixtures/ecma-features/objectLiteralDuplicateProperties/strict-duplicate-string-properties.result.js
+++ /dev/null
@@ -1,520 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 2
- }
- },
- "range": [
- 0,
- 57
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "value": "use strict",
- "raw": "\"use strict\""
- }
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 2
- }
- },
- "range": [
- 15,
- 57
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 19,
- 56
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 23,
- 56
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "range": [
- 26,
- 38
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 4
- }
- },
- "range": [
- 26,
- 29
- ],
- "value": "y",
- "raw": "\"y\""
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 4,
- "column": 6
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "range": [
- 31,
- 38
- ],
- "value": "first",
- "raw": "\"first\""
- },
- "kind": "init"
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 41,
- 54
- ],
- "method": false,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 4
- }
- },
- "range": [
- 41,
- 44
- ],
- "value": "y",
- "raw": "\"y\""
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 46,
- 54
- ],
- "value": "second",
- "raw": "\"second\""
- },
- "kind": "init"
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "String",
- "value": "\"use strict\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 3
- }
- },
- "range": [
- 15,
- 18
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 3,
- "column": 6
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "String",
- "value": "\"y\"",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 4
- }
- },
- "range": [
- 26,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "String",
- "value": "\"first\"",
- "loc": {
- "start": {
- "line": 4,
- "column": 6
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "range": [
- 31,
- 38
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 14
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "String",
- "value": "\"y\"",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 4
- }
- },
- "range": [
- 41,
- 44
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 44,
- 45
- ]
- },
- {
- "type": "String",
- "value": "\"second\"",
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 46,
- 54
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 55,
- 56
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 6,
- "column": 1
- },
- "end": {
- "line": 6,
- "column": 2
- }
- },
- "range": [
- 56,
- 57
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/invalid-method-no-braces.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/invalid-method-no-braces.result.js
deleted file mode 100644
index f8f2ba9..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/invalid-method-no-braces.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 19,
- "lineNumber": 2,
- "column": 14,
- "message": "Unexpected token 42"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/method-property.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/method-property.result.js
deleted file mode 100644
index 467de21..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/method-property.result.js
+++ /dev/null
@@ -1,463 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 0,
- 50
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 0,
- 50
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 4,
- 49
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 8,
- 49
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 14,
- 47
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 14,
- 17
- ],
- "name": "foo"
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 17,
- 47
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 20,
- 47
- ],
- "body": [
- {
- "type": "ReturnStatement",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "range": [
- 30,
- 41
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "range": [
- 37,
- 40
- ],
- "name": "bar"
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 14,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Keyword",
- "value": "return",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "range": [
- 30,
- 36
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "range": [
- 37,
- 40
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 46,
- 47
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 48,
- 49
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 49,
- 50
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-named-get.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-named-get.result.js
deleted file mode 100644
index f5175f8..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-named-get.result.js
+++ /dev/null
@@ -1,388 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 0,
- 26
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 0,
- 25
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 4,
- 25
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 10,
- 23
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 10,
- 13
- ],
- "name": "get"
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 13,
- 23
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 16,
- 23
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 10,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-named-set.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-named-set.result.js
deleted file mode 100644
index 996338a..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-named-set.result.js
+++ /dev/null
@@ -1,388 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 0,
- 26
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 0,
- 25
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 4,
- 25
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 10,
- 23
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 10,
- 13
- ],
- "name": "set"
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 13,
- 23
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 16,
- 23
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 10,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-with-argument.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-with-argument.result.js
deleted file mode 100644
index 03e0de7..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-with-argument.result.js
+++ /dev/null
@@ -1,425 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 0,
- 35
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 0,
- 34
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 0,
- 33
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 4,
- 33
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 10,
- 31
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 10,
- 16
- ],
- "name": "method"
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 16,
- 31
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 17,
- 21
- ],
- "name": "test"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 23,
- 31
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 34,
- 35
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "method",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 10,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "test",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 17,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 34,
- 35
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-with-string-name.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-with-string-name.result.js
deleted file mode 100644
index 7f6591f..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method-with-string-name.result.js
+++ /dev/null
@@ -1,389 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 0,
- 32
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 0,
- 31
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 0,
- 30
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 4,
- 30
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 10,
- 28
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 10,
- 18
- ],
- "value": "method",
- "raw": "\"method\""
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 18,
- 28
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 21,
- 28
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 31,
- 32
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "String",
- "value": "\"method\"",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 10,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 31,
- 32
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method.result.js
deleted file mode 100644
index b21677a..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/simple-method.result.js
+++ /dev/null
@@ -1,388 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 0,
- 30
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 0,
- 29
- ],
- "expression": {
- "type": "AssignmentExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 0,
- 28
- ],
- "operator": "=",
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ],
- "name": "x"
- },
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 4,
- 28
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 10,
- 26
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 10,
- 16
- ],
- "name": "method"
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 16,
- 26
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 19,
- 26
- ],
- "body": []
- }
- }
- }
- ]
- }
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 29,
- 30
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Identifier",
- "value": "method",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 10,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 1
- },
- "end": {
- "line": 4,
- "column": 2
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 29,
- 30
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/string-name-method-property.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandMethods/string-name-method-property.result.js
deleted file mode 100644
index 20df529..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandMethods/string-name-method-property.result.js
+++ /dev/null
@@ -1,464 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 0,
- 52
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 0,
- 52
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 4,
- 51
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 8,
- 51
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 14,
- 49
- ],
- "method": true,
- "shorthand": false,
- "computed": false,
- "key": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 14,
- 19
- ],
- "value": "foo",
- "raw": "\"foo\""
- },
- "kind": "init",
- "value": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 19,
- 49
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 22,
- 49
- ],
- "body": [
- {
- "type": "ReturnStatement",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "range": [
- 32,
- 43
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "range": [
- 39,
- 42
- ],
- "name": "bar"
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 14,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Keyword",
- "value": "return",
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "range": [
- 32,
- 38
- ]
- },
- {
- "type": "Identifier",
- "value": "bar",
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "range": [
- 39,
- 42
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "range": [
- 42,
- 43
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 48,
- 49
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 50,
- 51
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 5,
- "column": 1
- },
- "end": {
- "line": 5,
- "column": 2
- }
- },
- "range": [
- 51,
- 52
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/objectLiteralShorthandProperties/shorthand-properties.result.js b/tests/fixtures/ecma-features/objectLiteralShorthandProperties/shorthand-properties.result.js
deleted file mode 100644
index a27872b..0000000
--- a/tests/fixtures/ecma-features/objectLiteralShorthandProperties/shorthand-properties.result.js
+++ /dev/null
@@ -1,719 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 0,
- 66
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 0,
- 26
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ],
- "name": "get"
- },
- "init": null
- },
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ],
- "name": "set"
- },
- "init": null
- }
- ],
- "kind": "var"
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 28,
- 66
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 32,
- 65
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ],
- "name": "x"
- },
- "init": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 36,
- 65
- ],
- "properties": [
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "name": "foo"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ],
- "name": "foo"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ],
- "name": "get"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ],
- "name": "get"
- }
- },
- {
- "type": "Property",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 60,
- 63
- ],
- "method": false,
- "shorthand": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 60,
- 63
- ],
- "name": "set"
- },
- "kind": "init",
- "value": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 60,
- 63
- ],
- "name": "set"
- }
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 22,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 28,
- 31
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "range": [
- 42,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 6,
- "column": 7
- },
- "end": {
- "line": 6,
- "column": 8
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Identifier",
- "value": "get",
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 51,
- 54
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 7,
- "column": 7
- },
- "end": {
- "line": 7,
- "column": 8
- }
- },
- "range": [
- 54,
- 55
- ]
- },
- {
- "type": "Identifier",
- "value": "set",
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "range": [
- 60,
- 63
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 64,
- 65
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 9,
- "column": 1
- },
- "end": {
- "line": 9,
- "column": 2
- }
- },
- "range": [
- 65,
- 66
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/octalLiterals/invalid.result.js b/tests/fixtures/ecma-features/octalLiterals/invalid.result.js
deleted file mode 100644
index 59ae7ee..0000000
--- a/tests/fixtures/ecma-features/octalLiterals/invalid.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Identifier directly after number"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/octalLiterals/lowercase.result.js b/tests/fixtures/ecma-features/octalLiterals/lowercase.result.js
deleted file mode 100644
index 7631534..0000000
--- a/tests/fixtures/ecma-features/octalLiterals/lowercase.result.js
+++ /dev/null
@@ -1,94 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "value": 463,
- "raw": "0o717"
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Numeric",
- "value": "0o717",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/octalLiterals/strict-uppercase.result.js b/tests/fixtures/ecma-features/octalLiterals/strict-uppercase.result.js
deleted file mode 100644
index 4973998..0000000
--- a/tests/fixtures/ecma-features/octalLiterals/strict-uppercase.result.js
+++ /dev/null
@@ -1,166 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 6
- }
- },
- "range": [
- 0,
- 20
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "value": "use strict",
- "raw": "\"use strict\""
- }
- },
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 6
- }
- },
- "range": [
- 14,
- 20
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 14,
- 19
- ],
- "value": 463,
- "raw": "0O717"
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "String",
- "value": "\"use strict\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Numeric",
- "value": "0O717",
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 14,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/octalLiterals/uppercase.result.js b/tests/fixtures/ecma-features/octalLiterals/uppercase.result.js
deleted file mode 100644
index 72f01ff..0000000
--- a/tests/fixtures/ecma-features/octalLiterals/uppercase.result.js
+++ /dev/null
@@ -1,94 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "value": 463,
- "raw": "0O717"
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Numeric",
- "value": "0O717",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/regex/regexp-simple.result.js b/tests/fixtures/ecma-features/regex/regexp-simple.result.js
deleted file mode 100644
index e1d4f35..0000000
--- a/tests/fixtures/ecma-features/regex/regexp-simple.result.js
+++ /dev/null
@@ -1,194 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "value": {},
- "raw": "/foo./",
- "regex": {
- "pattern": "foo.",
- "flags": ""
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "RegularExpression",
- "value": "/foo./",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "regex": {
- "flags": "",
- "pattern": "foo."
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/regexUFlag/regex-u-extended-escape.supported.result.js b/tests/fixtures/ecma-features/regexUFlag/regex-u-extended-escape.supported.result.js
deleted file mode 100644
index 739842f..0000000
--- a/tests/fixtures/ecma-features/regexUFlag/regex-u-extended-escape.supported.result.js
+++ /dev/null
@@ -1,194 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 0,
- 41
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 0,
- 41
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 4,
- 40
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 8,
- 40
- ],
- "value": {},
- "raw": "/[\\u{0000000000000061}-\\u{7A}]/u",
- "regex": {
- "pattern": "[\\u{0000000000000061}-\\u{7A}]",
- "flags": "u"
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "RegularExpression",
- "value": "/[\\u{0000000000000061}-\\u{7A}]/u",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 8,
- 40
- ],
- "regex": {
- "flags": "u",
- "pattern": "[\\u{0000000000000061}-\\u{7A}]"
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/regexUFlag/regex-u-extended-escape.unsupported.result.js b/tests/fixtures/ecma-features/regexUFlag/regex-u-extended-escape.unsupported.result.js
deleted file mode 100644
index f111ee8..0000000
--- a/tests/fixtures/ecma-features/regexUFlag/regex-u-extended-escape.unsupported.result.js
+++ /dev/null
@@ -1,194 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 0,
- 41
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 0,
- 41
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 4,
- 40
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 8,
- 40
- ],
- "value": null,
- "raw": "/[\\u{0000000000000061}-\\u{7A}]/u",
- "regex": {
- "pattern": "[\\u{0000000000000061}-\\u{7A}]",
- "flags": "u"
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "RegularExpression",
- "value": "/[\\u{0000000000000061}-\\u{7A}]/u",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 8,
- 40
- ],
- "regex": {
- "flags": "u",
- "pattern": "[\\u{0000000000000061}-\\u{7A}]"
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/regexUFlag/regex-u-invalid-extended-escape.result.js b/tests/fixtures/ecma-features/regexUFlag/regex-u-invalid-extended-escape.result.js
deleted file mode 100644
index 8370cfa..0000000
--- a/tests/fixtures/ecma-features/regexUFlag/regex-u-invalid-extended-escape.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 12,
- "lineNumber": 1,
- "column": 13,
- "message": "Code point out of bounds"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/regexUFlag/regex-u-simple.supported.result.js b/tests/fixtures/ecma-features/regexUFlag/regex-u-simple.supported.result.js
deleted file mode 100644
index 8a2cb69..0000000
--- a/tests/fixtures/ecma-features/regexUFlag/regex-u-simple.supported.result.js
+++ /dev/null
@@ -1,194 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "value": {},
- "raw": "/foo/u",
- "regex": {
- "pattern": "foo",
- "flags": "u"
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "RegularExpression",
- "value": "/foo/u",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "regex": {
- "flags": "u",
- "pattern": "foo"
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/regexUFlag/regex-u-simple.unsupported.result.js b/tests/fixtures/ecma-features/regexUFlag/regex-u-simple.unsupported.result.js
deleted file mode 100644
index ba8560d..0000000
--- a/tests/fixtures/ecma-features/regexUFlag/regex-u-simple.unsupported.result.js
+++ /dev/null
@@ -1,194 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "value": null,
- "raw": "/foo/u",
- "regex": {
- "pattern": "foo",
- "flags": "u"
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "RegularExpression",
- "value": "/foo/u",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "regex": {
- "flags": "u",
- "pattern": "foo"
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/regexYFlag/regexp-y-simple.supported.result.js b/tests/fixtures/ecma-features/regexYFlag/regexp-y-simple.supported.result.js
deleted file mode 100644
index cf9a425..0000000
--- a/tests/fixtures/ecma-features/regexYFlag/regexp-y-simple.supported.result.js
+++ /dev/null
@@ -1,194 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "value": {},
- "raw": "/foo/y",
- "regex": {
- "pattern": "foo",
- "flags": "y"
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "RegularExpression",
- "value": "/foo/y",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "regex": {
- "flags": "y",
- "pattern": "foo"
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/regexYFlag/regexp-y-simple.unsupported.result.js b/tests/fixtures/ecma-features/regexYFlag/regexp-y-simple.unsupported.result.js
deleted file mode 100644
index e0bf35b..0000000
--- a/tests/fixtures/ecma-features/regexYFlag/regexp-y-simple.unsupported.result.js
+++ /dev/null
@@ -1,194 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 4,
- 16
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ],
- "name": "foo"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "value": null,
- "raw": "/foo/y",
- "regex": {
- "pattern": "foo",
- "flags": "y"
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "RegularExpression",
- "value": "/foo/y",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 10,
- 16
- ],
- "regex": {
- "flags": "y",
- "pattern": "foo"
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/restParams/basic-rest.result.js b/tests/fixtures/ecma-features/restParams/basic-rest.result.js
deleted file mode 100644
index 144b074..0000000
--- a/tests/fixtures/ecma-features/restParams/basic-rest.result.js
+++ /dev/null
@@ -1,348 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 0,
- 22
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "f"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "a"
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 14,
- 18
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "b"
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 20,
- 22
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 14,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/restParams/class-constructor.result.js b/tests/fixtures/ecma-features/restParams/class-constructor.result.js
deleted file mode 100644
index ef7b72e..0000000
--- a/tests/fixtures/ecma-features/restParams/class-constructor.result.js
+++ /dev/null
@@ -1,393 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "RestElement",
- "range": [
- 26,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 29,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "name": "foo"
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 34,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 25,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 8,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 29,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/restParams/class-method.result.js b/tests/fixtures/ecma-features/restParams/class-method.result.js
deleted file mode 100644
index ecac0c2..0000000
--- a/tests/fixtures/ecma-features/restParams/class-method.result.js
+++ /dev/null
@@ -1,394 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 26,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 17,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "params": [
- {
- "type": "RestElement",
- "range": [
- 18,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "name": "bar"
- },
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 8,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/restParams/error-no-default.result.js b/tests/fixtures/ecma-features/restParams/error-no-default.result.js
deleted file mode 100644
index dd0b8fb..0000000
--- a/tests/fixtures/ecma-features/restParams/error-no-default.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 19,
- "lineNumber": 1,
- "column": 20,
- "message": "Unexpected token ="
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/restParams/error-not-last.result.js b/tests/fixtures/ecma-features/restParams/error-not-last.result.js
deleted file mode 100644
index 4e7e97a..0000000
--- a/tests/fixtures/ecma-features/restParams/error-not-last.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 18,
- "lineNumber": 1,
- "column": 19,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/restParams/func-expression-multi.result.js b/tests/fixtures/ecma-features/restParams/func-expression-multi.result.js
deleted file mode 100644
index f3c1b50..0000000
--- a/tests/fixtures/ecma-features/restParams/func-expression-multi.result.js
+++ /dev/null
@@ -1,405 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 4,
- 28
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 8,
- 28
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "a"
- },
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 20,
- 24
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ],
- "name": "b"
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 26,
- 28
- ],
- "body": []
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 8,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/restParams/func-expression.result.js b/tests/fixtures/ecma-features/restParams/func-expression.result.js
deleted file mode 100644
index 0fe1159..0000000
--- a/tests/fixtures/ecma-features/restParams/func-expression.result.js
+++ /dev/null
@@ -1,351 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 4,
- 26
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "x"
- },
- "init": {
- "type": "FunctionExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 8,
- 26
- ],
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 18,
- 22
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ],
- "name": "a"
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 24,
- 26
- ],
- "body": []
- }
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 8,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 18,
- 21
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/restParams/invalid-rest-param.result.js b/tests/fixtures/ecma-features/restParams/invalid-rest-param.result.js
deleted file mode 100644
index ea9373d..0000000
--- a/tests/fixtures/ecma-features/restParams/invalid-rest-param.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 14,
- "lineNumber": 1,
- "column": 15,
- "message": "Unexpected token {"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/restParams/single-rest.result.js b/tests/fixtures/ecma-features/restParams/single-rest.result.js
deleted file mode 100644
index 93bd3ca..0000000
--- a/tests/fixtures/ecma-features/restParams/single-rest.result.js
+++ /dev/null
@@ -1,294 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 0,
- 20
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "f"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "RestElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 11,
- 15
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ],
- "name": "b"
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 17,
- 19
- ],
- "body": []
- }
- },
- {
- "type": "EmptyStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 11,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/spread/error-invalid-if.result.js b/tests/fixtures/ecma-features/spread/error-invalid-if.result.js
deleted file mode 100644
index 95e30f8..0000000
--- a/tests/fixtures/ecma-features/spread/error-invalid-if.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 6,
- "lineNumber": 1,
- "column": 7,
- "message": "Unexpected token ..."
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/spread/error-invalid-sequence.result.js b/tests/fixtures/ecma-features/spread/error-invalid-sequence.result.js
deleted file mode 100644
index ef21dc0..0000000
--- a/tests/fixtures/ecma-features/spread/error-invalid-sequence.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Unexpected token ..."
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/spread/multi-function-call.result.js b/tests/fixtures/ecma-features/spread/multi-function-call.result.js
deleted file mode 100644
index 20380ab..0000000
--- a/tests/fixtures/ecma-features/spread/multi-function-call.result.js
+++ /dev/null
@@ -1,273 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "name": "foo"
- },
- "arguments": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "a"
- },
- {
- "type": "SpreadElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 7,
- 11
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ],
- "name": "b"
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/spread/not-final-param.result.js b/tests/fixtures/ecma-features/spread/not-final-param.result.js
deleted file mode 100644
index 6830f04..0000000
--- a/tests/fixtures/ecma-features/spread/not-final-param.result.js
+++ /dev/null
@@ -1,273 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ],
- "name": "func"
- },
- "arguments": [
- {
- "type": "SpreadElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 5,
- 9
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "name": "a"
- }
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "b"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "func",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ",",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/spread/simple-function-call.result.js b/tests/fixtures/ecma-features/spread/simple-function-call.result.js
deleted file mode 100644
index 4030fd7..0000000
--- a/tests/fixtures/ecma-features/spread/simple-function-call.result.js
+++ /dev/null
@@ -1,219 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "callee": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "name": "foo"
- },
- "arguments": [
- {
- "type": "SpreadElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 4,
- 8
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 4,
- 7
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/deeply-nested.result.js b/tests/fixtures/ecma-features/templateStrings/deeply-nested.result.js
deleted file mode 100644
index d437f98..0000000
--- a/tests/fixtures/ecma-features/templateStrings/deeply-nested.result.js
+++ /dev/null
@@ -1,462 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 0,
- 45
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 0,
- 45
- ],
- "expression": {
- "type": "TaggedTemplateExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 0,
- 44
- ],
- "tag": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "name": "raw"
- },
- "quasi": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 3,
- 44
- ],
- "expressions": [
- {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 12,
- 42
- ],
- "expressions": [
- {
- "type": "BinaryExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 22,
- 35
- ],
- "left": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 22,
- 30
- ],
- "expressions": [],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 22,
- 30
- ],
- "value": {
- "raw": "deeply",
- "cooked": "deeply"
- },
- "tail": true
- }
- ]
- },
- "operator": "+",
- "right": {
- "type": "ObjectExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 33,
- 35
- ],
- "properties": []
- }
- }
- ],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 12,
- 22
- ],
- "value": {
- "raw": "nested ",
- "cooked": "nested "
- },
- "tail": false
- },
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 35,
- 42
- ],
- "value": {
- "raw": " blah",
- "cooked": " blah"
- },
- "tail": true
- }
- ]
- }
- ],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 3,
- 12
- ],
- "value": {
- "raw": "hello ",
- "cooked": "hello "
- },
- "tail": false
- },
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 42,
- 44
- ],
- "value": {
- "raw": "",
- "cooked": ""
- },
- "tail": true
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "raw",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Template",
- "value": "`hello ${",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 3,
- 12
- ]
- },
- {
- "type": "Template",
- "value": "`nested ${",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 12,
- 22
- ]
- },
- {
- "type": "Template",
- "value": "`deeply`",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 22,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": "+",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Template",
- "value": "} blah`",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 35,
- 42
- ]
- },
- {
- "type": "Template",
- "value": "}`",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 42,
- 44
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 44,
- 45
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/error-octal-literal.result.js b/tests/fixtures/ecma-features/templateStrings/error-octal-literal.result.js
deleted file mode 100644
index 40993c9..0000000
--- a/tests/fixtures/ecma-features/templateStrings/error-octal-literal.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Octal literal in strict mode"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/escape-characters.result.js b/tests/fixtures/ecma-features/templateStrings/escape-characters.result.js
deleted file mode 100644
index 451d26c..0000000
--- a/tests/fixtures/ecma-features/templateStrings/escape-characters.result.js
+++ /dev/null
@@ -1,209 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 0,
- 40
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 0,
- 40
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 4,
- 39
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 4,
- 6
- ],
- "name": "ts"
- },
- "init": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 9,
- 39
- ],
- "expressions": [],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 9,
- 39
- ],
- "value": {
- "raw": "\\\\n\\\\r\\\\b\\\\v\\\\t\\\\f\\\\\\n\\\\\\r\\n",
- "cooked": "\\n\\r\\b\\v\\t\\f\\\n\\\r\n"
- },
- "tail": true
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "ts",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 4,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Template",
- "value": "`\\\\n\\\\r\\\\b\\\\v\\\\t\\\\f\\\\\\n\\\\\\r\\n`",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 9,
- 39
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 39,
- 40
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/expressions.result.js b/tests/fixtures/ecma-features/templateStrings/expressions.result.js
deleted file mode 100644
index 1061023..0000000
--- a/tests/fixtures/ecma-features/templateStrings/expressions.result.js
+++ /dev/null
@@ -1,671 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "range": [
- 0,
- 59
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 4,
- 9
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ],
- "name": "a"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ],
- "value": 5,
- "raw": "5"
- }
- }
- ],
- "kind": "var"
- },
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 11,
- 26
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 15,
- 25
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 15,
- 16
- ],
- "name": "b"
- },
- "init": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 19,
- 25
- ],
- "value": "Fred",
- "raw": "'Fred'"
- }
- }
- ],
- "kind": "var"
- },
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "range": [
- 28,
- 59
- ],
- "expression": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 30
- }
- },
- "range": [
- 28,
- 58
- ],
- "expressions": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 10
- }
- },
- "range": [
- 37,
- 38
- ],
- "name": "b"
- },
- {
- "type": "BinaryExpression",
- "loc": {
- "start": {
- "line": 4,
- "column": 23
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "range": [
- 51,
- 56
- ],
- "left": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 4,
- "column": 23
- },
- "end": {
- "line": 4,
- "column": 24
- }
- },
- "range": [
- 51,
- 52
- ],
- "name": "a"
- },
- "operator": "+",
- "right": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "range": [
- 55,
- 56
- ],
- "value": 5,
- "raw": "5"
- }
- }
- ],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 9
- }
- },
- "range": [
- 28,
- 37
- ],
- "value": {
- "raw": "Hello ",
- "cooked": "Hello "
- },
- "tail": false
- },
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 23
- }
- },
- "range": [
- 38,
- 51
- ],
- "value": {
- "raw": ". a + 5 = ",
- "cooked": ". a + 5 = "
- },
- "tail": false
- },
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 4,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 30
- }
- },
- "range": [
- 56,
- 58
- ],
- "value": {
- "raw": "",
- "cooked": ""
- },
- "tail": true
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Numeric",
- "value": "5",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 3
- }
- },
- "range": [
- 11,
- 14
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "String",
- "value": "'Fred'",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 19,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Template",
- "value": "`Hello ${",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 9
- }
- },
- "range": [
- 28,
- 37
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 10
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "Template",
- "value": "}. a + 5 = ${",
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 23
- }
- },
- "range": [
- 38,
- 51
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 4,
- "column": 23
- },
- "end": {
- "line": 4,
- "column": 24
- }
- },
- "range": [
- 51,
- 52
- ]
- },
- {
- "type": "Punctuator",
- "value": "+",
- "loc": {
- "start": {
- "line": 4,
- "column": 25
- },
- "end": {
- "line": 4,
- "column": 26
- }
- },
- "range": [
- 53,
- 54
- ]
- },
- {
- "type": "Numeric",
- "value": "5",
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "range": [
- 55,
- 56
- ]
- },
- {
- "type": "Template",
- "value": "}`",
- "loc": {
- "start": {
- "line": 4,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 30
- }
- },
- "range": [
- 56,
- 58
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 30
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "range": [
- 58,
- 59
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/multi-line-template-string.result.js b/tests/fixtures/ecma-features/templateStrings/multi-line-template-string.result.js
deleted file mode 100644
index 9787eec..0000000
--- a/tests/fixtures/ecma-features/templateStrings/multi-line-template-string.result.js
+++ /dev/null
@@ -1,117 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 13
- }
- },
- "range": [
- 0,
- 111
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 13
- }
- },
- "range": [
- 0,
- 111
- ],
- "expression": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 0,
- 110
- ],
- "expressions": [],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 0,
- 110
- ],
- "value": {
- "raw": "The last man on Earth\n sat alone in a room.\n There was\n a knock\n on the\n door...",
- "cooked": "The last man on Earth\n sat alone in a room.\n There was\n a knock\n on the\n door..."
- },
- "tail": true
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Template",
- "value": "`The last man on Earth\n sat alone in a room.\n There was\n a knock\n on the\n door...`",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "range": [
- 0,
- 110
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 6,
- "column": 12
- },
- "end": {
- "line": 6,
- "column": 13
- }
- },
- "range": [
- 110,
- 111
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/simple-template-string.result.js b/tests/fixtures/ecma-features/templateStrings/simple-template-string.result.js
deleted file mode 100644
index ea4f6ec..0000000
--- a/tests/fixtures/ecma-features/templateStrings/simple-template-string.result.js
+++ /dev/null
@@ -1,117 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "expression": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ],
- "expressions": [],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ],
- "value": {
- "raw": "42",
- "cooked": "42"
- },
- "tail": true
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Template",
- "value": "`42`",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/single-dollar-sign.result.js b/tests/fixtures/ecma-features/templateStrings/single-dollar-sign.result.js
deleted file mode 100644
index d574fb3..0000000
--- a/tests/fixtures/ecma-features/templateStrings/single-dollar-sign.result.js
+++ /dev/null
@@ -1,209 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "body": [
- {
- "type": "VariableDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "declarations": [
- {
- "type": "VariableDeclarator",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 4,
- 12
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 4,
- 6
- ],
- "name": "ts"
- },
- "init": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ],
- "expressions": [],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ],
- "value": {
- "raw": "$",
- "cooked": "$"
- },
- "tail": true
- }
- ]
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Identifier",
- "value": "ts",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 4,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Template",
- "value": "`$`",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/tagged-no-placeholders.result.js b/tests/fixtures/ecma-features/templateStrings/tagged-no-placeholders.result.js
deleted file mode 100644
index ee2f2ec..0000000
--- a/tests/fixtures/ecma-features/templateStrings/tagged-no-placeholders.result.js
+++ /dev/null
@@ -1,170 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "expression": {
- "type": "TaggedTemplateExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ],
- "tag": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "name": "foo"
- },
- "quasi": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 3,
- 8
- ],
- "expressions": [],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 3,
- 8
- ],
- "value": {
- "raw": "foo",
- "cooked": "foo"
- },
- "tail": true
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ]
- },
- {
- "type": "Template",
- "value": "`foo`",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 3,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/templateStrings/tagged-template-string.result.js b/tests/fixtures/ecma-features/templateStrings/tagged-template-string.result.js
deleted file mode 100644
index 63037b1..0000000
--- a/tests/fixtures/ecma-features/templateStrings/tagged-template-string.result.js
+++ /dev/null
@@ -1,723 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 32
- }
- },
- "range": [
- 0,
- 76
- ],
- "body": [
- {
- "type": "FunctionDeclaration",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 0,
- 43
- ],
- "id": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ],
- "name": "tag"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 15,
- 43
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "range": [
- 18,
- 41
- ],
- "expression": {
- "type": "CallExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 18,
- 40
- ],
- "callee": {
- "type": "MemberExpression",
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 18,
- 29
- ],
- "object": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 18,
- 25
- ],
- "name": "console"
- },
- "property": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 26,
- 29
- ],
- "name": "log"
- },
- "computed": false
- },
- "arguments": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 30,
- 39
- ],
- "name": "arguments"
- }
- ]
- }
- }
- ]
- }
- },
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 32
- }
- },
- "range": [
- 44,
- 76
- ],
- "expression": {
- "type": "TaggedTemplateExpression",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "range": [
- 44,
- 75
- ],
- "tag": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 44,
- 47
- ],
- "name": "tag"
- },
- "quasi": {
- "type": "TemplateLiteral",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "range": [
- 47,
- 75
- ],
- "expressions": [
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 12
- }
- },
- "range": [
- 55,
- 56
- ],
- "name": "a"
- },
- {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "range": [
- 71,
- 72
- ],
- "name": "b"
- }
- ],
- "quasis": [
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 4,
- "column": 11
- }
- },
- "range": [
- 47,
- 55
- ],
- "value": {
- "raw": "a is ",
- "cooked": "a is "
- },
- "tail": false
- },
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 27
- }
- },
- "range": [
- 56,
- 71
- ],
- "value": {
- "raw": " while b is ",
- "cooked": " while b is "
- },
- "tail": false
- },
- {
- "type": "TemplateElement",
- "loc": {
- "start": {
- "line": 4,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "range": [
- 72,
- 75
- ],
- "value": {
- "raw": ".",
- "cooked": "."
- },
- "tail": true
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 0,
- 8
- ]
- },
- {
- "type": "Identifier",
- "value": "tag",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Identifier",
- "value": "console",
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 18,
- 25
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Identifier",
- "value": "log",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "range": [
- 26,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Identifier",
- "value": "arguments",
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 30,
- 39
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "range": [
- 39,
- 40
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "range": [
- 42,
- 43
- ]
- },
- {
- "type": "Identifier",
- "value": "tag",
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 3
- }
- },
- "range": [
- 44,
- 47
- ]
- },
- {
- "type": "Template",
- "value": "`a is ${",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 4,
- "column": 11
- }
- },
- "range": [
- 47,
- 55
- ]
- },
- {
- "type": "Identifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 12
- }
- },
- "range": [
- 55,
- 56
- ]
- },
- {
- "type": "Template",
- "value": "} while b is ${",
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 27
- }
- },
- "range": [
- 56,
- 71
- ]
- },
- {
- "type": "Identifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "range": [
- 71,
- 72
- ]
- },
- {
- "type": "Template",
- "value": "}.`",
- "loc": {
- "start": {
- "line": 4,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "range": [
- 72,
- 75
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 4,
- "column": 31
- },
- "end": {
- "line": 4,
- "column": 32
- }
- },
- "range": [
- 75,
- 76
- ]
- }
- ]
-};
diff --git a/tests/fixtures/ecma-features/unicodeCodePointEscapes/basic-string-literal.result.js b/tests/fixtures/ecma-features/unicodeCodePointEscapes/basic-string-literal.result.js
deleted file mode 100644
index e7d4cba..0000000
--- a/tests/fixtures/ecma-features/unicodeCodePointEscapes/basic-string-literal.result.js
+++ /dev/null
@@ -1,94 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "value": "煎茶",
- "raw": "\"\\u{714E}\\u{8336}\""
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "String",
- "value": "\"\\u{714E}\\u{8336}\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/unicodeCodePointEscapes/complex-string-literal.result.js b/tests/fixtures/ecma-features/unicodeCodePointEscapes/complex-string-literal.result.js
deleted file mode 100644
index a83ca4e..0000000
--- a/tests/fixtures/ecma-features/unicodeCodePointEscapes/complex-string-literal.result.js
+++ /dev/null
@@ -1,94 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ],
- "value": "𠮷\u0001",
- "raw": "\"\\u{20BB7}\\u{10FFFF}\\u{1}\""
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "String",
- "value": "\"\\u{20BB7}\\u{10FFFF}\\u{1}\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 0,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/unicodeCodePointEscapes/invalid-empty-escape.result.js b/tests/fixtures/ecma-features/unicodeCodePointEscapes/invalid-empty-escape.result.js
deleted file mode 100644
index 7ddaf93..0000000
--- a/tests/fixtures/ecma-features/unicodeCodePointEscapes/invalid-empty-escape.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Bad character escape sequence"
-};
\ No newline at end of file
diff --git a/tests/fixtures/ecma-features/unicodeCodePointEscapes/invalid-too-large-escape.result.js b/tests/fixtures/ecma-features/unicodeCodePointEscapes/invalid-too-large-escape.result.js
deleted file mode 100644
index c8a3a66..0000000
--- a/tests/fixtures/ecma-features/unicodeCodePointEscapes/invalid-too-large-escape.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Code point out of bounds"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx-useJSXTextNode/self-closing-tag-inside-tag.result.js b/tests/fixtures/jsx-useJSXTextNode/self-closing-tag-inside-tag.result.js
deleted file mode 100644
index 50f3a52..0000000
--- a/tests/fixtures/jsx-useJSXTextNode/self-closing-tag-inside-tag.result.js
+++ /dev/null
@@ -1,458 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "expression": {
- "type": "JSXElement",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "openingElement": {
- "type": "JSXOpeningElement",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "selfClosing": false,
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "name": "div"
- },
- "attributes": []
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "range": [
- 18,
- 24
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "name": "div"
- }
- },
- "children": [
- {
- "type": "JSXText",
- "range": [
- 5,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 4
- }
- },
- "value": "\n ",
- "raw": "\n "
- },
- {
- "type": "JSXElement",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "openingElement": {
- "type": "JSXOpeningElement",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "selfClosing": true,
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 11,
- 14
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "foo"
- },
- "attributes": []
- },
- "closingElement": null,
- "children": []
- },
- {
- "type": "JSXText",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "value": "\n",
- "raw": "\n"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "JSXText",
- "value": "\n ",
- "range": [
- 5,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 4
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "foo",
- "range": [
- 11,
- 14
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "JSXText",
- "value": "\n",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 0
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 6
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/jsx-useJSXTextNode/test-content.result.js b/tests/fixtures/jsx-useJSXTextNode/test-content.result.js
deleted file mode 100644
index d3dc1df..0000000
--- a/tests/fixtures/jsx-useJSXTextNode/test-content.result.js
+++ /dev/null
@@ -1,311 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "div"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 18,
- 24
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ],
- "name": "div"
- }
- },
- "children": [
- {
- "type": "JSXText",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 5,
- 18
- ],
- "value": "@test content",
- "raw": "@test content"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "JSXText",
- "value": "@test content",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 5,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
diff --git a/tests/fixtures/jsx/attributes.result.js b/tests/fixtures/jsx/attributes.result.js
deleted file mode 100644
index aa44d4f..0000000
--- a/tests/fixtures/jsx/attributes.result.js
+++ /dev/null
@@ -1,740 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "expression": {
- "type": "JSXElement",
- "range": [
- 0,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "openingElement": {
- "type": "JSXOpeningElement",
- "range": [
- 0,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "selfClosing": false,
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "name": "foo"
- },
- "attributes": [
- {
- "type": "JSXAttribute",
- "range": [
- 5,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "Literal",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "value": "baz",
- "raw": "\"baz\""
- }
- },
- {
- "type": "JSXAttribute",
- "range": [
- 15,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "qux"
- },
- "value": {
- "type": "JSXExpressionContainer",
- "range": [
- 19,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "name": "quz"
- }
- }
- },
- {
- "type": "JSXAttribute",
- "range": [
- 25,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 25,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "name": "spread"
- },
- "value": {
- "type": "JSXExpressionContainer",
- "range": [
- 32,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 36,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "name": "rest"
- }
- }
- }
- ]
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "range": [
- 46,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 48,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 48
- },
- "end": {
- "line": 1,
- "column": 51
- }
- },
- "name": "foo"
- }
- },
- "children": [
- {
- "type": "Literal",
- "range": [
- 42,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "value": "test",
- "raw": "test"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "foo",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "bar",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "JSXText",
- "value": "\"baz\"",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "qux",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "quz",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "spread",
- "range": [
- 25,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 33,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Identifier",
- "value": "rest",
- "range": [
- 36,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- },
- {
- "type": "JSXText",
- "value": "test",
- "range": [
- 42,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 48
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "foo",
- "range": [
- 48,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 48
- },
- "end": {
- "line": 1,
- "column": 51
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 52
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/jsx/embedded-comment.result.js b/tests/fixtures/jsx/embedded-comment.result.js
deleted file mode 100644
index d27c454..0000000
--- a/tests/fixtures/jsx/embedded-comment.result.js
+++ /dev/null
@@ -1,344 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 0,
- 33
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 0,
- 33
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 0,
- 32
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 28,
- 32
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ],
- "name": "a"
- }
- },
- "children": [
- {
- "type": "JSXExpressionContainer",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 3,
- 28
- ],
- "expression": {
- "type": "JSXEmptyExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 4,
- 27
- ]
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/embedded-conditional.result.js b/tests/fixtures/jsx/embedded-conditional.result.js
deleted file mode 100644
index e0109e5..0000000
--- a/tests/fixtures/jsx/embedded-conditional.result.js
+++ /dev/null
@@ -1,655 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 0,
- 28
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 0,
- 27
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 3,
- 24
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "b"
- },
- "value": {
- "type": "JSXExpressionContainer",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 5,
- 24
- ],
- "expression": {
- "type": "ConditionalExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 6,
- 23
- ],
- "test": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ],
- "name": "x"
- },
- "consequent": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 10,
- 15
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 10,
- 15
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "c"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- },
- "alternate": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 18,
- 23
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 18,
- 23
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ],
- "name": "d"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "?",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "d",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/embedded-invalid-js-identifier.result.js b/tests/fixtures/jsx/embedded-invalid-js-identifier.result.js
deleted file mode 100644
index ceb36c2..0000000
--- a/tests/fixtures/jsx/embedded-invalid-js-identifier.result.js
+++ /dev/null
@@ -1,439 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 0,
- 42
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 0,
- 42
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 0,
- 41
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "div"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 35,
- 41
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 37,
- 40
- ],
- "name": "div"
- }
- },
- "children": [
- {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ],
- "name": "br"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- },
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 11,
- 35
- ],
- "value": "7x invalid-js-identifier",
- "raw": "7x invalid-js-identifier"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "br",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 6,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "JSXText",
- "value": "7x invalid-js-identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 11,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 37,
- 40
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 41,
- 42
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/embedded-tags.result.js b/tests/fixtures/jsx/embedded-tags.result.js
deleted file mode 100644
index 696360b..0000000
--- a/tests/fixtures/jsx/embedded-tags.result.js
+++ /dev/null
@@ -1,710 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 58
- }
- },
- "range": [
- 0,
- 58
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 58
- }
- },
- "range": [
- 0,
- 58
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 57
- }
- },
- "range": [
- 0,
- 57
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 57
- }
- },
- "range": [
- 0,
- 57
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 11,
- 21
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 11,
- 15
- ],
- "name": "left"
- },
- "value": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 16,
- 21
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "a"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 22,
- 54
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 22,
- 27
- ],
- "name": "right"
- },
- "value": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 28,
- 54
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 28,
- 31
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ],
- "name": "b"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 50,
- 54
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 52,
- 53
- ],
- "name": "b"
- }
- },
- "children": [
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 50
- }
- },
- "range": [
- 31,
- 50
- ],
- "value": "monkeys /> gorillas",
- "raw": "monkeys /> gorillas"
- }
- ]
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 1,
- 10
- ],
- "name": "LeftRight"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "LeftRight",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 1,
- 10
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "left",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 11,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "right",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 22,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 29,
- 30
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "JSXText",
- "value": "monkeys /> gorillas",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 50
- }
- },
- "range": [
- 31,
- 50
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 51
- }
- },
- "range": [
- 50,
- 51
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 51,
- 52
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 52,
- 53
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 53,
- 54
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 55
- },
- "end": {
- "line": 1,
- "column": 56
- }
- },
- "range": [
- 55,
- 56
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 56
- },
- "end": {
- "line": 1,
- "column": 57
- }
- },
- "range": [
- 56,
- 57
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 57
- },
- "end": {
- "line": 1,
- "column": 58
- }
- },
- "range": [
- 57,
- 58
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/empty-placeholder.result.js b/tests/fixtures/jsx/empty-placeholder.result.js
deleted file mode 100644
index 163a342..0000000
--- a/tests/fixtures/jsx/empty-placeholder.result.js
+++ /dev/null
@@ -1,344 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 0,
- 9
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 5,
- 9
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- }
- },
- "children": [
- {
- "type": "JSXExpressionContainer",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 3,
- 5
- ],
- "expression": {
- "type": "JSXEmptyExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 4,
- 4
- ]
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/escape-patterns.result.js b/tests/fixtures/jsx/escape-patterns.result.js
deleted file mode 100644
index a21e5eb..0000000
--- a/tests/fixtures/jsx/escape-patterns.result.js
+++ /dev/null
@@ -1,995 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 84
- }
- },
- "range": [
- 0,
- 84
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 84
- }
- },
- "range": [
- 0,
- 84
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 83
- }
- },
- "range": [
- 0,
- 83
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 83
- }
- },
- "range": [
- 0,
- 83
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 3,
- 10
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "b"
- },
- "value": {
- "type": "JSXExpressionContainer",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 5,
- 10
- ],
- "expression": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ],
- "value": " ",
- "raw": "\" \""
- }
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 11,
- 16
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "c"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ],
- "value": " ",
- "raw": "\" \""
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 17,
- 26
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "name": "d"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 19,
- 26
- ],
- "value": "&",
- "raw": "\"&\""
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 27,
- 43
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ],
- "name": "e"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 29,
- 43
- ],
- "value": "id=1&group=2",
- "raw": "\"id=1&group=2\""
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 59
- }
- },
- "range": [
- 44,
- 59
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 44,
- 45
- ],
- "name": "f"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 59
- }
- },
- "range": [
- 46,
- 59
- ],
- "value": "",
- "raw": "\"\""
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 60
- },
- "end": {
- "line": 1,
- "column": 71
- }
- },
- "range": [
- 60,
- 71
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 60
- },
- "end": {
- "line": 1,
- "column": 61
- }
- },
- "range": [
- 60,
- 61
- ],
- "name": "g"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 62
- },
- "end": {
- "line": 1,
- "column": 71
- }
- },
- "range": [
- 62,
- 71
- ],
- "value": "{*;",
- "raw": "\"{*;\""
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 72
- },
- "end": {
- "line": 1,
- "column": 80
- }
- },
- "range": [
- 72,
- 80
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 72
- },
- "end": {
- "line": 1,
- "column": 73
- }
- },
- "range": [
- 72,
- 73
- ],
- "name": "h"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 74
- },
- "end": {
- "line": 1,
- "column": 80
- }
- },
- "range": [
- 74,
- 80
- ],
- "value": "",
- "raw": "\"\""
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "String",
- "value": "\" \"",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "JSXText",
- "value": "\" \"",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 13,
- 16
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "d",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "JSXText",
- "value": "\"&\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 19,
- 26
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "e",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "JSXText",
- "value": "\"id=1&group=2\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 29,
- 43
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "f",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 44,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "JSXText",
- "value": "\"\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 59
- }
- },
- "range": [
- 46,
- 59
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "g",
- "loc": {
- "start": {
- "line": 1,
- "column": 60
- },
- "end": {
- "line": 1,
- "column": 61
- }
- },
- "range": [
- 60,
- 61
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 61
- },
- "end": {
- "line": 1,
- "column": 62
- }
- },
- "range": [
- 61,
- 62
- ]
- },
- {
- "type": "JSXText",
- "value": "\"{*;\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 62
- },
- "end": {
- "line": 1,
- "column": 71
- }
- },
- "range": [
- 62,
- 71
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "h",
- "loc": {
- "start": {
- "line": 1,
- "column": 72
- },
- "end": {
- "line": 1,
- "column": 73
- }
- },
- "range": [
- 72,
- 73
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 73
- },
- "end": {
- "line": 1,
- "column": 74
- }
- },
- "range": [
- 73,
- 74
- ]
- },
- {
- "type": "JSXText",
- "value": "\"\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 74
- },
- "end": {
- "line": 1,
- "column": 80
- }
- },
- "range": [
- 74,
- 80
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 81
- },
- "end": {
- "line": 1,
- "column": 82
- }
- },
- "range": [
- 81,
- 82
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 82
- },
- "end": {
- "line": 1,
- "column": 83
- }
- },
- "range": [
- 82,
- 83
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 83
- },
- "end": {
- "line": 1,
- "column": 84
- }
- },
- "range": [
- 83,
- 84
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-attribute-missing-equals.result.js b/tests/fixtures/jsx/invalid-attribute-missing-equals.result.js
deleted file mode 100644
index f9489fc..0000000
--- a/tests/fixtures/jsx/invalid-attribute-missing-equals.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 14,
- "lineNumber": 1,
- "column": 15,
- "message": "Unexpected token \"app\""
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-attribute.result.js b/tests/fixtures/jsx/invalid-attribute.result.js
deleted file mode 100644
index 3cea252..0000000
--- a/tests/fixtures/jsx/invalid-attribute.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "JSX value should be either an expression or a quoted JSX text"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-broken-tag.result.js b/tests/fixtures/jsx/invalid-broken-tag.result.js
deleted file mode 100644
index ace1f56..0000000
--- a/tests/fixtures/jsx/invalid-broken-tag.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 7,
- "lineNumber": 1,
- "column": 8,
- "message": "Unterminated string constant"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-computed-end-tag-name.result.js b/tests/fixtures/jsx/invalid-computed-end-tag-name.result.js
deleted file mode 100644
index 674267d..0000000
--- a/tests/fixtures/jsx/invalid-computed-end-tag-name.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 2,
- "lineNumber": 1,
- "column": 3,
- "message": "Unexpected token ["
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-computed-string-end-tag-name.result.js b/tests/fixtures/jsx/invalid-computed-string-end-tag-name.result.js
deleted file mode 100644
index 674267d..0000000
--- a/tests/fixtures/jsx/invalid-computed-string-end-tag-name.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 2,
- "lineNumber": 1,
- "column": 3,
- "message": "Unexpected token ["
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-embedded-expression.result.js b/tests/fixtures/jsx/invalid-embedded-expression.result.js
deleted file mode 100644
index efba70a..0000000
--- a/tests/fixtures/jsx/invalid-embedded-expression.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 9,
- "lineNumber": 1,
- "column": 10,
- "message": "Unexpected token ;"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-leading-dot-tag-name.result.js b/tests/fixtures/jsx/invalid-leading-dot-tag-name.result.js
deleted file mode 100644
index 1550ffb..0000000
--- a/tests/fixtures/jsx/invalid-leading-dot-tag-name.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Unexpected token ."
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-matching-placeholder-in-closing-tag.result.js b/tests/fixtures/jsx/invalid-matching-placeholder-in-closing-tag.result.js
deleted file mode 100644
index 2499414..0000000
--- a/tests/fixtures/jsx/invalid-matching-placeholder-in-closing-tag.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 27,
- "lineNumber": 1,
- "column": 28,
- "message": "Unexpected token {"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-mismatched-closing-tag.result.js b/tests/fixtures/jsx/invalid-mismatched-closing-tag.result.js
deleted file mode 100644
index 19d15db..0000000
--- a/tests/fixtures/jsx/invalid-mismatched-closing-tag.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 3,
- "lineNumber": 1,
- "column": 4,
- "message": "Expected corresponding JSX closing tag for
"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-mismatched-closing-tags.result.js b/tests/fixtures/jsx/invalid-mismatched-closing-tags.result.js
deleted file mode 100644
index b892677..0000000
--- a/tests/fixtures/jsx/invalid-mismatched-closing-tags.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 8,
- "lineNumber": 1,
- "column": 9,
- "message": "Unterminated JSX contents"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-mismatched-dot-tag-name.result.js b/tests/fixtures/jsx/invalid-mismatched-dot-tag-name.result.js
deleted file mode 100644
index 6d1e78b..0000000
--- a/tests/fixtures/jsx/invalid-mismatched-dot-tag-name.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 7,
- "lineNumber": 1,
- "column": 8,
- "message": "Expected corresponding JSX closing tag for "
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-mismatched-namespace-tag.result.js b/tests/fixtures/jsx/invalid-mismatched-namespace-tag.result.js
deleted file mode 100644
index 96c689a..0000000
--- a/tests/fixtures/jsx/invalid-mismatched-namespace-tag.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Expected corresponding JSX closing tag for "
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-missing-closing-tag-attribute-placeholder.result.js b/tests/fixtures/jsx/invalid-missing-closing-tag-attribute-placeholder.result.js
deleted file mode 100644
index c6715ea..0000000
--- a/tests/fixtures/jsx/invalid-missing-closing-tag-attribute-placeholder.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "JSX attributes must only be assigned a non-empty expression"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-missing-closing-tag.result.js b/tests/fixtures/jsx/invalid-missing-closing-tag.result.js
deleted file mode 100644
index 801a1aa..0000000
--- a/tests/fixtures/jsx/invalid-missing-closing-tag.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 3,
- "lineNumber": 1,
- "column": 4,
- "message": "Unterminated JSX contents"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-missing-namespace-name.result.js b/tests/fixtures/jsx/invalid-missing-namespace-name.result.js
deleted file mode 100644
index d6f5dfb..0000000
--- a/tests/fixtures/jsx/invalid-missing-namespace-name.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Unexpected token :"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-missing-namespace-value.result.js b/tests/fixtures/jsx/invalid-missing-namespace-value.result.js
deleted file mode 100644
index 2b0fd9e..0000000
--- a/tests/fixtures/jsx/invalid-missing-namespace-value.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 5,
- "lineNumber": 1,
- "column": 6,
- "message": "Unterminated regular expression"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-missing-spread-operator.result.js b/tests/fixtures/jsx/invalid-missing-spread-operator.result.js
deleted file mode 100644
index b2f52e8..0000000
--- a/tests/fixtures/jsx/invalid-missing-spread-operator.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 6,
- "lineNumber": 1,
- "column": 7,
- "message": "Unexpected token props"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-namespace-name-with-docts.result.js b/tests/fixtures/jsx/invalid-namespace-name-with-docts.result.js
deleted file mode 100644
index 03f355f..0000000
--- a/tests/fixtures/jsx/invalid-namespace-name-with-docts.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 4,
- "lineNumber": 1,
- "column": 5,
- "message": "Unexpected token :"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-namespace-value-with-dots.result.js b/tests/fixtures/jsx/invalid-namespace-value-with-dots.result.js
deleted file mode 100644
index 465439f..0000000
--- a/tests/fixtures/jsx/invalid-namespace-value-with-dots.result.js
+++ /dev/null
@@ -1,557 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 0,
- 7
- ],
- "attributes": [],
- "name": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 1,
- 6
- ],
- "object": {
- "type": "JSXNamespacedName",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "namespace": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "b"
- }
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "c"
- }
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 7,
- 15
- ],
- "name": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "object": {
- "type": "JSXNamespacedName",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ],
- "namespace": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "b"
- }
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "c"
- }
- }
- },
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-no-common-parent-with-comment.result.js b/tests/fixtures/jsx/invalid-no-common-parent-with-comment.result.js
deleted file mode 100644
index bf2e5e6..0000000
--- a/tests/fixtures/jsx/invalid-no-common-parent-with-comment.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 49,
- "lineNumber": 1,
- "column": 50,
- "message": "Adjacent JSX elements must be wrapped in an enclosing tag"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-no-common-parent.result.js b/tests/fixtures/jsx/invalid-no-common-parent.result.js
deleted file mode 100644
index c453466..0000000
--- a/tests/fixtures/jsx/invalid-no-common-parent.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 22,
- "lineNumber": 1,
- "column": 23,
- "message": "Adjacent JSX elements must be wrapped in an enclosing tag"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-no-tag-name.result.js b/tests/fixtures/jsx/invalid-no-tag-name.result.js
deleted file mode 100644
index 5f0ea4d..0000000
--- a/tests/fixtures/jsx/invalid-no-tag-name.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 1,
- "lineNumber": 1,
- "column": 2,
- "message": "Unexpected token /"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-placeholder-in-closing-tag.result.js b/tests/fixtures/jsx/invalid-placeholder-in-closing-tag.result.js
deleted file mode 100644
index b4d7ad2..0000000
--- a/tests/fixtures/jsx/invalid-placeholder-in-closing-tag.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 16,
- "lineNumber": 1,
- "column": 17,
- "message": "Unexpected token {"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-trailing-dot-tag-name.result.js b/tests/fixtures/jsx/invalid-trailing-dot-tag-name.result.js
deleted file mode 100644
index 9412307..0000000
--- a/tests/fixtures/jsx/invalid-trailing-dot-tag-name.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 3,
- "lineNumber": 1,
- "column": 4,
- "message": "Unexpected token >"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/invalid-unexpected-comma.result.js b/tests/fixtures/jsx/invalid-unexpected-comma.result.js
deleted file mode 100644
index d24f10c..0000000
--- a/tests/fixtures/jsx/invalid-unexpected-comma.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 19,
- "lineNumber": 1,
- "column": 20,
- "message": "Unexpected token ,"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/japanese-characters.result.js b/tests/fixtures/jsx/japanese-characters.result.js
deleted file mode 100644
index d3f1e2c..0000000
--- a/tests/fixtures/jsx/japanese-characters.result.js
+++ /dev/null
@@ -1,273 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "日本語"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "name": "日本語"
- }
- },
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "日本語",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "日本語",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/less-than-operator.result.js b/tests/fixtures/jsx/less-than-operator.result.js
deleted file mode 100644
index 6be31bd..0000000
--- a/tests/fixtures/jsx/less-than-operator.result.js
+++ /dev/null
@@ -1,293 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "expression": {
- "type": "BinaryExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "left": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 1,
- 8
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 1,
- 8
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 2,
- 5
- ],
- "name": "div"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- },
- "operator": "<",
- "right": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "name": "x"
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 2,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ")",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Identifier",
- "value": "x",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/member-expression-this.result.js b/tests/fixtures/jsx/member-expression-this.result.js
deleted file mode 100644
index 2df3406..0000000
--- a/tests/fixtures/jsx/member-expression-this.result.js
+++ /dev/null
@@ -1,327 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "expression": {
- "type": "JSXElement",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "openingElement": {
- "type": "JSXOpeningElement",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "selfClosing": true,
- "name": {
- "type": "JSXMemberExpression",
- "range": [
- 1,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "object": {
- "type": "JSXMemberExpression",
- "range": [
- 1,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "object": {
- "type": "JSXIdentifier",
- "range": [
- 1,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "name": "this"
- },
- "property": {
- "type": "JSXIdentifier",
- "range": [
- 6,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "state"
- }
- },
- "property": {
- "type": "JSXIdentifier",
- "range": [
- 12,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "Component"
- }
- },
- "attributes": []
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 1,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 5,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "state",
- "range": [
- 6,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "Component",
- "range": [
- 12,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/jsx/member-expression.result.js b/tests/fixtures/jsx/member-expression.result.js
deleted file mode 100644
index a69bd26..0000000
--- a/tests/fixtures/jsx/member-expression.result.js
+++ /dev/null
@@ -1,397 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "expression": {
- "type": "JSXElement",
- "range": [
- 0,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "openingElement": {
- "type": "JSXOpeningElement",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "selfClosing": false,
- "name": {
- "type": "JSXMemberExpression",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "object": {
- "type": "JSXIdentifier",
- "range": [
- 1,
- 2
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "name": "a"
- },
- "property": {
- "type": "JSXIdentifier",
- "range": [
- 3,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "name": "b"
- }
- },
- "attributes": []
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "range": [
- 5,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": {
- "type": "JSXMemberExpression",
- "range": [
- 7,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "object": {
- "type": "JSXIdentifier",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "name": "a"
- },
- "property": {
- "type": "JSXIdentifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "b"
- }
- }
- },
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "range": [
- 1,
- 2
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 2,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "range": [
- 3,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 5,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/jsx/multiple-blank-spaces.result.js b/tests/fixtures/jsx/multiple-blank-spaces.result.js
deleted file mode 100644
index fa49136..0000000
--- a/tests/fixtures/jsx/multiple-blank-spaces.result.js
+++ /dev/null
@@ -1,311 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 0,
- 3
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 7,
- 11
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- }
- },
- "children": [
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 3,
- 7
- ],
- "value": " ",
- "raw": " "
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "JSXText",
- "value": " ",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 3,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/namespaced-attribute-and-value-inserted.result.js b/tests/fixtures/jsx/namespaced-attribute-and-value-inserted.result.js
deleted file mode 100644
index d2a62e5..0000000
--- a/tests/fixtures/jsx/namespaced-attribute-and-value-inserted.result.js
+++ /dev/null
@@ -1,962 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 0,
- 41
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 0,
- 41
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 0,
- 40
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 3,
- 14
- ],
- "name": {
- "type": "JSXNamespacedName",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 3,
- 8
- ],
- "namespace": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "n"
- },
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "name": "foo"
- }
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "value": "bar",
- "raw": "\"bar\""
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 36,
- 40
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ],
- "name": "a"
- }
- },
- "children": [
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ],
- "value": " ",
- "raw": " "
- },
- {
- "type": "JSXExpressionContainer",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 16,
- 23
- ],
- "expression": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 17,
- 22
- ],
- "name": "value"
- }
- },
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ],
- "value": " ",
- "raw": " "
- },
- {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 24,
- 36
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 24,
- 27
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ],
- "name": "b"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 32,
- 36
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ],
- "name": "b"
- }
- },
- "children": [
- {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 27,
- 32
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 27,
- 32
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ],
- "name": "c"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- ]
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "n",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "foo",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "JSXText",
- "value": "\"bar\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "JSXText",
- "value": " ",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Identifier",
- "value": "value",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 17,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "JSXText",
- "value": " ",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 25,
- 26
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "range": [
- 26,
- 27
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 27,
- 28
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 30,
- 31
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 31,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 37,
- 38
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 38,
- 39
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 39,
- 40
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/namespaced-name-and-attribute.result.js b/tests/fixtures/jsx/namespaced-name-and-attribute.result.js
deleted file mode 100644
index 49e5391..0000000
--- a/tests/fixtures/jsx/namespaced-name-and-attribute.result.js
+++ /dev/null
@@ -1,382 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "name": {
- "type": "JSXNamespacedName",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "namespace": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "n"
- },
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "v"
- }
- },
- "value": null
- }
- ],
- "name": {
- "type": "JSXNamespacedName",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "namespace": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "n"
- },
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "a"
- }
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "n",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "n",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ":",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "v",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/newslines-and-entities.result.js b/tests/fixtures/jsx/newslines-and-entities.result.js
deleted file mode 100644
index 5664539..0000000
--- a/tests/fixtures/jsx/newslines-and-entities.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 9,
- "lineNumber": 1,
- "column": 10,
- "message": "Expecting Unicode escape sequence \\uXXXX"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/self-closing-tag-inside-tag.result.js b/tests/fixtures/jsx/self-closing-tag-inside-tag.result.js
deleted file mode 100644
index 9cb593f..0000000
--- a/tests/fixtures/jsx/self-closing-tag-inside-tag.result.js
+++ /dev/null
@@ -1,458 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "expression": {
- "type": "JSXElement",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "openingElement": {
- "type": "JSXOpeningElement",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "selfClosing": false,
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "name": "div"
- },
- "attributes": []
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "range": [
- 18,
- 24
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "name": "div"
- }
- },
- "children": [
- {
- "type": "Literal",
- "range": [
- 5,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 4
- }
- },
- "value": "\n ",
- "raw": "\n "
- },
- {
- "type": "JSXElement",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "openingElement": {
- "type": "JSXOpeningElement",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "selfClosing": true,
- "name": {
- "type": "JSXIdentifier",
- "range": [
- 11,
- 14
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "foo"
- },
- "attributes": []
- },
- "closingElement": null,
- "children": []
- },
- {
- "type": "Literal",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "value": "\n",
- "raw": "\n"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "JSXText",
- "value": "\n ",
- "range": [
- 5,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 4
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "foo",
- "range": [
- 11,
- 14
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "JSXText",
- "value": "\n",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 0
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- }
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 6
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/jsx/self-closing-tag-with-newline.result.js b/tests/fixtures/jsx/self-closing-tag-with-newline.result.js
deleted file mode 100644
index 2941702..0000000
--- a/tests/fixtures/jsx/self-closing-tag-with-newline.result.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- "index": 3,
- "lineNumber": 1,
- "column": 4,
- "message": "Expecting Unicode escape sequence \\uXXXX"
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/self-closing-tag.result.js b/tests/fixtures/jsx/self-closing-tag.result.js
deleted file mode 100644
index a44cbb8..0000000
--- a/tests/fixtures/jsx/self-closing-tag.result.js
+++ /dev/null
@@ -1,185 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 0,
- 6
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/spread-operator-attribute-and-regular-attribute.result.js b/tests/fixtures/jsx/spread-operator-attribute-and-regular-attribute.result.js
deleted file mode 100644
index 52d352c..0000000
--- a/tests/fixtures/jsx/spread-operator-attribute-and-regular-attribute.result.js
+++ /dev/null
@@ -1,401 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 0,
- 36
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 0,
- 36
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 0,
- 35
- ],
- "attributes": [
- {
- "type": "JSXSpreadAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 5,
- 15
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "name": "props"
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 16,
- 32
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 16,
- 20
- ],
- "name": "post"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 21,
- 32
- ],
- "value": "attribute",
- "raw": "\"attribute\""
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "div"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "props",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "post",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 16,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ]
- },
- {
- "type": "JSXText",
- "value": "\"attribute\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 21,
- 32
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "range": [
- 33,
- 34
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 34,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 35,
- 36
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/spread-operator-attributes.result.js b/tests/fixtures/jsx/spread-operator-attributes.result.js
deleted file mode 100644
index 62b59ca..0000000
--- a/tests/fixtures/jsx/spread-operator-attributes.result.js
+++ /dev/null
@@ -1,293 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 0,
- 18
- ],
- "attributes": [
- {
- "type": "JSXSpreadAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 5,
- 15
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "name": "props"
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "div"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 6,
- 9
- ]
- },
- {
- "type": "Identifier",
- "value": "props",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 16,
- 17
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/tag-names-with-dots.result.js b/tests/fixtures/jsx/tag-names-with-dots.result.js
deleted file mode 100644
index f70ee28..0000000
--- a/tests/fixtures/jsx/tag-names-with-dots.result.js
+++ /dev/null
@@ -1,415 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "attributes": [],
- "name": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "object": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "b"
- }
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 5,
- 11
- ],
- "name": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 7,
- 10
- ],
- "object": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "name": "a"
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "b"
- }
- }
- },
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/tag-names-with-multi-dots.result.js b/tests/fixtures/jsx/tag-names-with-multi-dots.result.js
deleted file mode 100644
index ce3d3ae..0000000
--- a/tests/fixtures/jsx/tag-names-with-multi-dots.result.js
+++ /dev/null
@@ -1,557 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 0,
- 7
- ],
- "attributes": [],
- "name": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 1,
- 6
- ],
- "object": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "object": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "b"
- }
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ],
- "name": "c"
- }
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 7,
- 15
- ],
- "name": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "object": {
- "type": "JSXMemberExpression",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 9,
- 12
- ],
- "object": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ],
- "name": "a"
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "name": "b"
- }
- },
- "property": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ],
- "name": "c"
- }
- }
- },
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "range": [
- 2,
- 3
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "range": [
- 5,
- 6
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "range": [
- 6,
- 7
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 9,
- 10
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 10,
- 11
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ]
- },
- {
- "type": "Punctuator",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "c",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 13,
- 14
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 14,
- 15
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 15,
- 16
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/test-content.result.js b/tests/fixtures/jsx/test-content.result.js
deleted file mode 100644
index 5d74950..0000000
--- a/tests/fixtures/jsx/test-content.result.js
+++ /dev/null
@@ -1,311 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 0,
- 25
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 0,
- 5
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "div"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 18,
- 24
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ],
- "name": "div"
- }
- },
- "children": [
- {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 5,
- 18
- ],
- "value": "@test content",
- "raw": "@test content"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "JSXText",
- "value": "@test content",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 5,
- 18
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 18,
- 19
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 19,
- 20
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 20,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 24,
- 25
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/trailing-spread-operator-attribute.result.js b/tests/fixtures/jsx/trailing-spread-operator-attribute.result.js
deleted file mode 100644
index 2179b52..0000000
--- a/tests/fixtures/jsx/trailing-spread-operator-attribute.result.js
+++ /dev/null
@@ -1,597 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 0,
- 54
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 0,
- 54
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 0,
- 53
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 0,
- 47
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 5,
- 18
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "name": "pre"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 9,
- 18
- ],
- "value": "leading",
- "raw": "\"leading\""
- }
- },
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 19,
- 35
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 19,
- 23
- ],
- "name": "pre2"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 24,
- 35
- ],
- "value": "attribute",
- "raw": "\"attribute\""
- }
- },
- {
- "type": "JSXSpreadAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "range": [
- 36,
- 46
- ],
- "argument": {
- "type": "Identifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 40,
- 45
- ],
- "name": "props"
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ],
- "name": "div"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 47,
- 53
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 49
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 49,
- 52
- ],
- "name": "div"
- }
- },
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 1,
- 4
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "pre",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 8,
- 9
- ]
- },
- {
- "type": "JSXText",
- "value": "\"leading\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 9,
- 18
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "pre2",
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 19,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- },
- {
- "type": "JSXText",
- "value": "\"attribute\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 24,
- 35
- ]
- },
- {
- "type": "Punctuator",
- "value": "{",
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 36,
- 37
- ]
- },
- {
- "type": "Punctuator",
- "value": "...",
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 37,
- 40
- ]
- },
- {
- "type": "Identifier",
- "value": "props",
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 40,
- 45
- ]
- },
- {
- "type": "Punctuator",
- "value": "}",
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "range": [
- 45,
- 46
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 46,
- 47
- ]
- },
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 47,
- 48
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 48
- },
- "end": {
- "line": 1,
- "column": 49
- }
- },
- "range": [
- 48,
- 49
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "div",
- "loc": {
- "start": {
- "line": 1,
- "column": 49
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 49,
- 52
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 52,
- 53
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 54
- }
- },
- "range": [
- 53,
- 54
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/jsx/unknown-escape-pattern.result.js b/tests/fixtures/jsx/unknown-escape-pattern.result.js
deleted file mode 100644
index 4e6a887..0000000
--- a/tests/fixtures/jsx/unknown-escape-pattern.result.js
+++ /dev/null
@@ -1,294 +0,0 @@
-module.exports = {
- "type": "Program",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "body": [
- {
- "type": "ExpressionStatement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "expression": {
- "type": "JSXElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 0,
- 23
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 3,
- 20
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ],
- "name": "b"
- },
- "value": {
- "type": "Literal",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 5,
- 20
- ],
- "value": "¬anentity;",
- "raw": "\"¬anentity;\""
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "a"
- },
- "selfClosing": true
- },
- "closingElement": null,
- "children": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- },
- "range": [
- 0,
- 1
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "a",
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ]
- },
- {
- "type": "JSXIdentifier",
- "value": "b",
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 3,
- 4
- ]
- },
- {
- "type": "Punctuator",
- "value": "=",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 4,
- 5
- ]
- },
- {
- "type": "JSXText",
- "value": "\"¬anentity;\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 5,
- 20
- ]
- },
- {
- "type": "Punctuator",
- "value": "/",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ]
- },
- {
- "type": "Punctuator",
- "value": ">",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 22,
- 23
- ]
- },
- {
- "type": "Punctuator",
- "value": ";",
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 23,
- 24
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/parse/all-pieces.json b/tests/fixtures/parse/all-pieces.json
deleted file mode 100644
index fafe95d..0000000
--- a/tests/fixtures/parse/all-pieces.json
+++ /dev/null
@@ -1,186 +0,0 @@
-{
- "type": "Program",
- "body": [
- {
- "type": "VariableDeclaration",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "name": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- "init": {
- "type": "Identifier",
- "name": "bar",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- "range": [
- 4,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- }
- ],
- "kind": "let",
- "range": [
- 0,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- }
- ],
- "sourceType": "script",
- "range": [
- 0,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "comments": [],
- "tokens": [
- {
- "type": "Keyword",
- "value": "let",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- }
- ]
-}
diff --git a/tests/fixtures/tokenize/const-result.tokens.js b/tests/fixtures/tokenize/const-result.tokens.js
deleted file mode 100644
index 3e5f133..0000000
--- a/tests/fixtures/tokenize/const-result.tokens.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// const foo = bar;
-module.exports = [
- {
- "type": "Keyword",
- "value": "const",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 12,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/let-result.tokens.js b/tests/fixtures/tokenize/let-result.tokens.js
deleted file mode 100644
index 1e2cfaf..0000000
--- a/tests/fixtures/tokenize/let-result.tokens.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// let foo = bar;
-module.exports = [
- {
- "type": "Keyword",
- "value": "let",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/regex-in-parens-result.tokens.js b/tests/fixtures/tokenize/regex-in-parens-result.tokens.js
deleted file mode 100644
index 96b8e9b..0000000
--- a/tests/fixtures/tokenize/regex-in-parens-result.tokens.js
+++ /dev/null
@@ -1,169 +0,0 @@
-// (/foo/).test(bar);
-module.exports = [
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "RegularExpression",
- "value": "/foo/",
- "range": [
- 1,
- 6
- ],
- "regex": {
- "flags": "",
- "pattern": "foo"
- },
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "test",
- "range": [
- 8,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/regexp-u-result.tokens.js b/tests/fixtures/tokenize/regexp-u-result.tokens.js
deleted file mode 100644
index d56f27e..0000000
--- a/tests/fixtures/tokenize/regexp-u-result.tokens.js
+++ /dev/null
@@ -1,97 +0,0 @@
-// var foo = /foo/u;
-module.exports = [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "RegularExpression",
- "value": "/foo/u",
- "regex": {
- "pattern": "foo",
- "flags": "u"
- },
- "range": [
- 10,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/regexp-u-unicode-escape-result.tokens.js b/tests/fixtures/tokenize/regexp-u-unicode-escape-result.tokens.js
deleted file mode 100644
index 9b1d612..0000000
--- a/tests/fixtures/tokenize/regexp-u-unicode-escape-result.tokens.js
+++ /dev/null
@@ -1,37 +0,0 @@
-module.exports = [{
- type: 'Keyword',
- value: 'var',
- range: [0, 3],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 3 }
- }
- }, {
- type: 'Identifier',
- value: 'x',
- range: [4, 5],
- loc: {
- start: { line: 1, column: 4 },
- end: { line: 1, column: 5 }
- }
- }, {
- type: 'Punctuator',
- value: '=',
- range: [6, 7],
- loc: {
- start: { line: 1, column: 6 },
- end: { line: 1, column: 7 }
- }
- }, {
- type: 'RegularExpression',
- value: '/[\\u{0000000000000061}-\\u{7A}]/u',
- regex: {
- pattern: '[\\u{0000000000000061}-\\u{7A}]',
- flags: 'u'
- },
- range: [8, 40],
- loc: {
- start: { line: 1, column: 8 },
- end: { line: 1, column: 40 }
- }
- }];
diff --git a/tests/fixtures/tokenize/regexp-y-result.tokens.js b/tests/fixtures/tokenize/regexp-y-result.tokens.js
deleted file mode 100644
index aae8a5e..0000000
--- a/tests/fixtures/tokenize/regexp-y-result.tokens.js
+++ /dev/null
@@ -1,97 +0,0 @@
-// var foo = /foo/y;
-module.exports = [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "RegularExpression",
- "value": "/foo/y",
- "regex": {
- "pattern": "foo",
- "flags": "y"
- },
- "range": [
- 10,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/template-string-embedded-result.tokens.js b/tests/fixtures/tokenize/template-string-embedded-result.tokens.js
deleted file mode 100644
index 762b943..0000000
--- a/tests/fixtures/tokenize/template-string-embedded-result.tokens.js
+++ /dev/null
@@ -1,129 +0,0 @@
-// var foo = `hi${bar}`;
-module.exports = [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Template",
- "value": "`hi${",
- "range": [
- 10,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Template",
- "value": "}`",
- "range": [
- 18,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/template-string-embedded2-result.tokens.js b/tests/fixtures/tokenize/template-string-embedded2-result.tokens.js
deleted file mode 100644
index 88768bf..0000000
--- a/tests/fixtures/tokenize/template-string-embedded2-result.tokens.js
+++ /dev/null
@@ -1,255 +0,0 @@
-// var a; console.log(`${a}`, "a");
-module.exports = [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 5,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "console",
- "range": [
- 7,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "log",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Template",
- "value": "`${",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Template",
- "value": "}`",
- "range": [
- 23,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "String",
- "value": "\"a\"",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/template-string-expressions-result.tokens.js b/tests/fixtures/tokenize/template-string-expressions-result.tokens.js
deleted file mode 100644
index 9532faf..0000000
--- a/tests/fixtures/tokenize/template-string-expressions-result.tokens.js
+++ /dev/null
@@ -1,201 +0,0 @@
-// var foo = `Hello ${b}. a + 5 = ${a + 5}`;
-module.exports = [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Template",
- "value": "`Hello ${",
- "range": [
- 10,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Template",
- "value": "}. a + 5 = ${",
- "range": [
- 20,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "+",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Numeric",
- "value": "5",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Template",
- "value": "}`",
- "range": [
- 38,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- }
-];
diff --git a/tests/fixtures/tokenize/template-string-simple-result.tokens.js b/tests/fixtures/tokenize/template-string-simple-result.tokens.js
deleted file mode 100644
index f2525c7..0000000
--- a/tests/fixtures/tokenize/template-string-simple-result.tokens.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// var foo = `hi`;
-module.exports = [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Template",
- "value": "`hi`",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- }
-];
diff --git a/tests/fixtures/typescript/basics/abstract-class-with-abstract-constructor.result.js b/tests/fixtures/typescript/basics/abstract-class-with-abstract-constructor.result.js
deleted file mode 100644
index a9b9530..0000000
--- a/tests/fixtures/typescript/basics/abstract-class-with-abstract-constructor.result.js
+++ /dev/null
@@ -1,358 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 68
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "TSAbstractClassDeclaration",
- "range": [
- 16,
- 68
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 22,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "name": "AbstractSocket"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "TSAbstractMethodDefinition",
- "range": [
- 43,
- 66
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 27
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 43,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [],
- "generator": false,
- "expression": false,
- "async": false,
- "body": null,
- "range": [
- 63,
- 66
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 37,
- 68
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 68
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 7,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 16,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "AbstractSocket",
- "range": [
- 22,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 43,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 52,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 63,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 65,
- 66
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 67,
- 68
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/abstract-class-with-abstract-method.result.js b/tests/fixtures/typescript/basics/abstract-class-with-abstract-method.result.js
deleted file mode 100644
index 15450fe..0000000
--- a/tests/fixtures/typescript/basics/abstract-class-with-abstract-method.result.js
+++ /dev/null
@@ -1,555 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 86
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "TSAbstractClassDeclaration",
- "range": [
- 16,
- 86
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 22,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "name": "AbstractSocket"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "TSAbstractMethodDefinition",
- "range": [
- 43,
- 84
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 52,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "name": "createSocket"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": null,
- "range": [
- 64,
- 84
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 44
- }
- },
- "range": [
- 68,
- 83
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 68,
- 83
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 44
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 68,
- 75
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 36
- }
- },
- "name": "Promise"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 75,
- 83
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 44
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 76,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 37
- },
- "end": {
- "line": 2,
- "column": 43
- }
- },
- "id": {
- "type": "TSStringKeyword",
- "range": [
- 76,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 37
- },
- "end": {
- "line": 2,
- "column": 43
- }
- }
- },
- "typeParameters": null
- }
- ]
- }
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 37,
- 86
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 86
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 7,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 16,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "AbstractSocket",
- "range": [
- 22,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 43,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "createSocket",
- "range": [
- 52,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 65,
- 66
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 66,
- 67
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Promise",
- "range": [
- 68,
- 75
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 75,
- 76
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 37
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 76,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 37
- },
- "end": {
- "line": 2,
- "column": 43
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 82,
- 83
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 43
- },
- "end": {
- "line": 2,
- "column": 44
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 45
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 85,
- 86
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/abstract-class-with-abstract-properties.result.js b/tests/fixtures/typescript/basics/abstract-class-with-abstract-properties.result.js
deleted file mode 100644
index f79e2ef..0000000
--- a/tests/fixtures/typescript/basics/abstract-class-with-abstract-properties.result.js
+++ /dev/null
@@ -1,415 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 62
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSAbstractClassDeclaration",
- "range": [
- 0,
- 62
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "TSAbstractClassProperty",
- "range": [
- 25,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "name": "bar"
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [],
- "typeAnnotation": null
- },
- {
- "type": "TSAbstractClassProperty",
- "range": [
- 43,
- 60
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 21
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 52,
- 55
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "name": "baz"
- },
- "value": {
- "type": "Literal",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- },
- "value": 3,
- "raw": "3"
- },
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [],
- "typeAnnotation": null
- }
- ],
- "range": [
- 19,
- 62
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 25,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 43,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 52,
- 55
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 17
- },
- "end": {
- "line": 3,
- "column": 18
- }
- }
- },
- {
- "type": "Numeric",
- "value": "3",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 61,
- 62
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/abstract-class-with-abstract-readonly-property.result.js b/tests/fixtures/typescript/basics/abstract-class-with-abstract-readonly-property.result.js
deleted file mode 100644
index 0c7160a..0000000
--- a/tests/fixtures/typescript/basics/abstract-class-with-abstract-readonly-property.result.js
+++ /dev/null
@@ -1,355 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSAbstractClassDeclaration",
- "range": [
- 0,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "TSAbstractClassProperty",
- "range": [
- 23,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 42
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 48,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 30
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "Literal",
- "range": [
- 54,
- 62
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 41
- }
- },
- "value": "string",
- "raw": "'string'"
- },
- "computed": false,
- "static": false,
- "accessibility": "public",
- "readonly": true,
- "decorators": [],
- "typeAnnotation": null
- }
- ],
- "range": [
- 19,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 23,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 30,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 39,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 48,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 31
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "String",
- "value": "'string'",
- "range": [
- 54,
- 62
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 41
- },
- "end": {
- "line": 2,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/abstract-class-with-optional-method.result.js b/tests/fixtures/typescript/basics/abstract-class-with-optional-method.result.js
deleted file mode 100644
index 96da715..0000000
--- a/tests/fixtures/typescript/basics/abstract-class-with-optional-method.result.js
+++ /dev/null
@@ -1,556 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 78
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "TSAbstractClassDeclaration",
- "range": [
- 16,
- 78
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 22,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "name": "AbstractSocket"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 43,
- 76
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 37
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 43,
- 55
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "name": "createSocket",
- "optional": true
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": null,
- "range": [
- 56,
- 76
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 37
- }
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 36
- }
- },
- "range": [
- 60,
- 75
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 60,
- 75
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 36
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 60,
- 67
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 28
- }
- },
- "name": "Promise"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 67,
- 75
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 36
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 68,
- 74
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 35
- }
- },
- "id": {
- "type": "TSStringKeyword",
- "range": [
- 68,
- 74
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- "typeParameters": null
- }
- ]
- }
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 37,
- 78
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 78
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 7,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 16,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "AbstractSocket",
- "range": [
- 22,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Identifier",
- "value": "createSocket",
- "range": [
- 43,
- 55
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Promise",
- "range": [
- 60,
- 67
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 67,
- 68
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 68,
- 74
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 74,
- 75
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 75,
- 76
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 77,
- 78
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/abstract-interface.result.js b/tests/fixtures/typescript/basics/abstract-interface.result.js
deleted file mode 100644
index e7576a7..0000000
--- a/tests/fixtures/typescript/basics/abstract-interface.result.js
+++ /dev/null
@@ -1,204 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "TSInterfaceDeclaration",
- "range": [
- 16,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "abstract": true,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 28,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "name": "I"
- },
- "heritage": []
- },
- "range": [
- 0,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "abstract",
- "range": [
- 7,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 16,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "I",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/arrow-function-with-type-parameters.result.js b/tests/fixtures/typescript/basics/arrow-function-with-type-parameters.result.js
deleted file mode 100644
index 1780343..0000000
--- a/tests/fixtures/typescript/basics/arrow-function-with-type-parameters.result.js
+++ /dev/null
@@ -1,564 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "expression": {
- "type": "ArrowFunctionExpression",
- "range": [
- 0,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "generator": false,
- "id": null,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "name": "b",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 7,
- 8
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "name": "X"
- }
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 16,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 22,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "b"
- }
- }
- ]
- },
- "async": false,
- "expression": false,
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 11,
- 12
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "name": "X"
- }
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 1,
- 2
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "name": "X",
- "constraint": null
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 1,
- 2
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 2,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 2
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 3,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 5,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "range": [
- 13,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 22,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/async-function-expression.result.js b/tests/fixtures/typescript/basics/async-function-expression.result.js
deleted file mode 100644
index f096104..0000000
--- a/tests/fixtures/typescript/basics/async-function-expression.result.js
+++ /dev/null
@@ -1,330 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 0,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 4
- }
- },
- "callee": {
- "type": "FunctionExpression",
- "range": [
- 1,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 16,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "name": "test"
- },
- "generator": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "range": [
- 23,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "body": []
- },
- "async": true,
- "expression": false
- },
- "arguments": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "Identifier",
- "value": "async",
- "range": [
- 1,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 7,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "test",
- "range": [
- 16,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 2
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 3
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 3
- },
- "end": {
- "line": 2,
- "column": 4
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/async-function-with-var-declaration.result.js b/tests/fixtures/typescript/basics/async-function-with-var-declaration.result.js
deleted file mode 100644
index 6f08a71..0000000
--- a/tests/fixtures/typescript/basics/async-function-with-var-declaration.result.js
+++ /dev/null
@@ -1,698 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 96
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 96
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "name": "test"
- },
- "generator": false,
- "expression": false,
- "async": true,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "range": [
- 22,
- 96
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 28,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 32,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "name": "foo"
- },
- "init": {
- "type": "Literal",
- "range": [
- 38,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "value": "foo",
- "raw": "'foo'"
- }
- }
- ],
- "kind": "var"
- },
- {
- "type": "VariableDeclaration",
- "range": [
- 49,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 20
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 53,
- 64
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 53,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "name": "bar"
- },
- "init": {
- "type": "Literal",
- "range": [
- 59,
- 64
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "value": "bar",
- "raw": "'bar'"
- }
- }
- ],
- "kind": "let"
- },
- {
- "type": "VariableDeclaration",
- "range": [
- 70,
- 94
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 76,
- 93
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 27
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 76,
- 82
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 16
- }
- },
- "name": "fooBar"
- },
- "init": {
- "type": "Literal",
- "range": [
- 85,
- 93
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 27
- }
- },
- "value": "fooBar",
- "raw": "'fooBar'"
- }
- }
- ],
- "kind": "const"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "async",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 6,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "test",
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 28,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "String",
- "value": "'foo'",
- "range": [
- 38,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "let",
- "range": [
- 49,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 53,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "String",
- "value": "'bar'",
- "range": [
- 59,
- 64
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "const",
- "range": [
- 70,
- 75
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "fooBar",
- "range": [
- 76,
- 82
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 18
- }
- }
- },
- {
- "type": "String",
- "value": "'fooBar'",
- "range": [
- 85,
- 93
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 93,
- 94
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 95,
- 96
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-accessibility-modifiers.result.js b/tests/fixtures/typescript/basics/class-with-accessibility-modifiers.result.js
deleted file mode 100644
index 8ab949f..0000000
--- a/tests/fixtures/typescript/basics/class-with-accessibility-modifiers.result.js
+++ /dev/null
@@ -1,1359 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 173
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 10,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 173
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 10,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 14,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "name": "bar"
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": "private",
- "readonly": false,
- "decorators": [],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 28,
- 34
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 28,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- }
- }
- },
- {
- "type": "ClassProperty",
- "range": [
- 38,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 29
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 52,
- 55
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "name": "baz"
- },
- "value": null,
- "computed": false,
- "static": true,
- "accessibility": "public",
- "readonly": false,
- "decorators": [],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "range": [
- 58,
- 64
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 58,
- 64
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- }
- }
- },
- {
- "type": "MethodDefinition",
- "range": [
- 68,
- 111
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 75,
- 81
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 15
- }
- },
- "name": "getBar"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 85,
- 111
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 91,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 20
- }
- },
- "argument": {
- "type": "MemberExpression",
- "range": [
- 98,
- 106
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 11
- },
- "end": {
- "line": 5,
- "column": 19
- }
- },
- "object": {
- "type": "ThisExpression",
- "range": [
- 98,
- 102
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 11
- },
- "end": {
- "line": 5,
- "column": 15
- }
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 103,
- 106
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 19
- }
- },
- "name": "bar"
- },
- "computed": false
- }
- }
- ]
- },
- "range": [
- 82,
- 111
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 15
- },
- "end": {
- "line": 6,
- "column": 3
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": "public",
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 114,
- 171
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 2
- },
- "end": {
- "line": 9,
- "column": 3
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 124,
- 130
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 12
- },
- "end": {
- "line": 7,
- "column": 18
- }
- },
- "name": "setBar"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 146,
- 171
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 34
- },
- "end": {
- "line": 9,
- "column": 3
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 152,
- 167
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 19
- }
- },
- "expression": {
- "type": "AssignmentExpression",
- "range": [
- 152,
- 166
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 18
- }
- },
- "operator": "=",
- "left": {
- "type": "MemberExpression",
- "range": [
- 152,
- 160
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 12
- }
- },
- "object": {
- "type": "ThisExpression",
- "range": [
- 152,
- 156
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 8
- }
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 157,
- 160
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 9
- },
- "end": {
- "line": 8,
- "column": 12
- }
- },
- "name": "bar"
- },
- "computed": false
- },
- "right": {
- "type": "Identifier",
- "range": [
- 163,
- 166
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 15
- },
- "end": {
- "line": 8,
- "column": 18
- }
- },
- "name": "bar"
- }
- }
- }
- ]
- },
- "range": [
- 131,
- 171
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 18
- },
- "end": {
- "line": 9,
- "column": 3
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 132,
- 135
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 20
- },
- "end": {
- "line": 7,
- "column": 23
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 7,
- "column": 26
- },
- "end": {
- "line": 7,
- "column": 32
- }
- },
- "range": [
- 138,
- 144
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 138,
- 144
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 26
- },
- "end": {
- "line": 7,
- "column": 32
- }
- }
- }
- },
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": "protected",
- "decorators": []
- }
- ],
- "range": [
- 10,
- 173
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 10,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 28,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 38,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 45,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 52,
- 55
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 58,
- 64
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 29
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 68,
- 74
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "getBar",
- "range": [
- 75,
- 81
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 82,
- 83
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 16
- },
- "end": {
- "line": 4,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 85,
- 86
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 91,
- 97
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 10
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 98,
- 102
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 11
- },
- "end": {
- "line": 5,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 102,
- 103
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 15
- },
- "end": {
- "line": 5,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 103,
- 106
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 106,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 19
- },
- "end": {
- "line": 5,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 110,
- 111
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 2
- },
- "end": {
- "line": 6,
- "column": 3
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 114,
- 123
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 2
- },
- "end": {
- "line": 7,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "setBar",
- "range": [
- 124,
- 130
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 12
- },
- "end": {
- "line": 7,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 131,
- 132
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 19
- },
- "end": {
- "line": 7,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 132,
- 135
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 20
- },
- "end": {
- "line": 7,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 136,
- 137
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 24
- },
- "end": {
- "line": 7,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 138,
- 144
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 26
- },
- "end": {
- "line": 7,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 144,
- 145
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 32
- },
- "end": {
- "line": 7,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 146,
- 147
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 34
- },
- "end": {
- "line": 7,
- "column": 35
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 152,
- 156
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 156,
- 157
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 8
- },
- "end": {
- "line": 8,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 157,
- 160
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 9
- },
- "end": {
- "line": 8,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 161,
- 162
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 13
- },
- "end": {
- "line": 8,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 163,
- 166
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 15
- },
- "end": {
- "line": 8,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 166,
- 167
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 18
- },
- "end": {
- "line": 8,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 170,
- 171
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 2
- },
- "end": {
- "line": 9,
- "column": 3
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 172,
- 173
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 0
- },
- "end": {
- "line": 10,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-export-parameter-properties.result.js b/tests/fixtures/typescript/basics/class-with-export-parameter-properties.result.js
deleted file mode 100644
index c531a48..0000000
--- a/tests/fixtures/typescript/basics/class-with-export-parameter-properties.result.js
+++ /dev/null
@@ -1,467 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 16,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 16,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "TSParameterProperty",
- "range": [
- 28,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": true,
- "parameter": {
- "type": "Identifier",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "name": "a",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "range": [
- 38,
- 44
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 38,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- }
- }
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 46,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 27,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 10,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 16,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 28,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 38,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-extends-generic-multiple.result.js b/tests/fixtures/typescript/basics/class-with-extends-generic-multiple.result.js
deleted file mode 100644
index 090134c..0000000
--- a/tests/fixtures/typescript/basics/class-with-extends-generic-multiple.result.js
+++ /dev/null
@@ -1,563 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 9,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 10,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "A",
- "constraint": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 20,
- 21
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "B"
- }
- }
- }
- }
- ]
- },
- "superTypeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 34,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "name": "C"
- },
- "typeParameters": null
- },
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "name": "D"
- },
- "typeParameters": null
- }
- ]
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 41,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": {
- "type": "Identifier",
- "range": [
- 31,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "name": "Bar"
- },
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 12,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "B",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 23,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 31,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- },
- {
- "type": "Identifier",
- "value": "D",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-extends-generic.result.js b/tests/fixtures/typescript/basics/class-with-extends-generic.result.js
deleted file mode 100644
index f6bd139..0000000
--- a/tests/fixtures/typescript/basics/class-with-extends-generic.result.js
+++ /dev/null
@@ -1,404 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "A",
- "constraint": null
- }
- ]
- },
- "superTypeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "B"
- },
- "typeParameters": null
- }
- ]
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 28,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "Bar"
- },
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 13,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "B",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-generic-method-default.result.js b/tests/fixtures/typescript/basics/class-with-generic-method-default.result.js
deleted file mode 100644
index dc79f2d..0000000
--- a/tests/fixtures/typescript/basics/class-with-generic-method-default.result.js
+++ /dev/null
@@ -1,484 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "getBar"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 32,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "body": []
- },
- "range": [
- 29,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "params": [],
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 20,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 21,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "name": "T",
- "constraint": null,
- "default": {
- "type": "TSTypeReference",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "name": "Bar"
- }
- }
- }
- ]
- }
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 10,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "getBar",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-generic-method.result.js b/tests/fixtures/typescript/basics/class-with-generic-method.result.js
deleted file mode 100644
index 82cb907..0000000
--- a/tests/fixtures/typescript/basics/class-with-generic-method.result.js
+++ /dev/null
@@ -1,413 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "getBar"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 26,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "body": []
- },
- "range": [
- 23,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "params": [],
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- }
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 10,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "getBar",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-implements-generic-multiple.result.js b/tests/fixtures/typescript/basics/class-with-implements-generic-multiple.result.js
deleted file mode 100644
index af2a472..0000000
--- a/tests/fixtures/typescript/basics/class-with-implements-generic-multiple.result.js
+++ /dev/null
@@ -1,403 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 31,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [
- {
- "type": "ClassImplements",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 21,
- 24
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "Bar"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 24,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "S"
- },
- "typeParameters": null
- },
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "T"
- },
- "typeParameters": null
- }
- ]
- }
- }
- ],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "implements",
- "range": [
- 10,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "S",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-implements-generic.result.js b/tests/fixtures/typescript/basics/class-with-implements-generic.result.js
deleted file mode 100644
index 2a5f27c..0000000
--- a/tests/fixtures/typescript/basics/class-with-implements-generic.result.js
+++ /dev/null
@@ -1,331 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 28,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [
- {
- "type": "ClassImplements",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 21,
- 24
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "Bar"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "S"
- },
- "typeParameters": null
- }
- ]
- }
- }
- ],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "implements",
- "range": [
- 10,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "S",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-implements.result.js b/tests/fixtures/typescript/basics/class-with-implements.result.js
deleted file mode 100644
index 5388d10..0000000
--- a/tests/fixtures/typescript/basics/class-with-implements.result.js
+++ /dev/null
@@ -1,222 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 25,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [
- {
- "type": "ClassImplements",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 21,
- 24
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "Bar"
- }
- }
- ],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "implements",
- "range": [
- 10,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-mixin.result.js b/tests/fixtures/typescript/basics/class-with-mixin.result.js
deleted file mode 100644
index 02b1f01..0000000
--- a/tests/fixtures/typescript/basics/class-with-mixin.result.js
+++ /dev/null
@@ -1,2082 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 206
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 48
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 84
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "M"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 38,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "name": "Base",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 44,
- 45
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "name": "T"
- }
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 47,
- 84
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 53,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "argument": {
- "type": "ClassExpression",
- "range": [
- 60,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "id": null,
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 79,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 30
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- "superClass": {
- "type": "Identifier",
- "range": [
- 74,
- 78
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 29
- }
- },
- "name": "Base"
- },
- "implements": [],
- "decorators": []
- }
- }
- ]
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 10,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 11,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "name": "T",
- "constraint": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 21,
- 36
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 21,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 21,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "name": "Constructor"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 32,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 33,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "id": {
- "type": "TSTypeLiteral",
- "range": [
- 33,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "members": []
- },
- "typeParameters": null
- }
- ]
- }
- }
- }
- }
- ]
- }
- },
- {
- "type": "ClassDeclaration",
- "range": [
- 86,
- 128
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 42
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 92,
- 93
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "name": "X"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 125,
- 128
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 39
- },
- "end": {
- "line": 5,
- "column": 42
- }
- }
- },
- "superClass": {
- "type": "CallExpression",
- "range": [
- 102,
- 111
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 25
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 102,
- 103
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 17
- }
- },
- "name": "M"
- },
- "arguments": [
- {
- "type": "Identifier",
- "range": [
- 109,
- 110
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 23
- },
- "end": {
- "line": 5,
- "column": 24
- }
- },
- "name": "C"
- }
- ],
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 103,
- 108
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 5,
- "column": 22
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 104,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 18
- },
- "end": {
- "line": 5,
- "column": 21
- }
- },
- "id": {
- "type": "TSAnyKeyword",
- "range": [
- 104,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 18
- },
- "end": {
- "line": 5,
- "column": 21
- }
- }
- },
- "typeParameters": null
- }
- ]
- }
- },
- "implements": [
- {
- "type": "ClassImplements",
- "loc": {
- "start": {
- "line": 5,
- "column": 37
- },
- "end": {
- "line": 5,
- "column": 38
- }
- },
- "range": [
- 123,
- 124
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 123,
- 124
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 37
- },
- "end": {
- "line": 5,
- "column": 38
- }
- },
- "name": "I"
- }
- }
- ],
- "decorators": []
- },
- {
- "type": "ClassDeclaration",
- "range": [
- 130,
- 141
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 11
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 136,
- 137
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 6
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "name": "C"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 138,
- 141
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 8
- },
- "end": {
- "line": 7,
- "column": 11
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 142,
- 157
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 0
- },
- "end": {
- "line": 8,
- "column": 15
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 154,
- 157
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 12
- },
- "end": {
- "line": 8,
- "column": 15
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 152,
- 153
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 10
- },
- "end": {
- "line": 8,
- "column": 11
- }
- },
- "name": "I"
- },
- "heritage": []
- },
- {
- "type": "VariableDeclaration",
- "range": [
- 158,
- 206
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 48
- }
- },
- "kind": "type",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "range": [
- 163,
- 174
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 16
- }
- },
- "name": "Constructor"
- },
- "init": {
- "type": "TSConstructorType",
- "range": [
- 180,
- 205
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 22
- },
- "end": {
- "line": 9,
- "column": 47
- }
- },
- "typeParameters": null,
- "parameters": [
- {
- "type": "RestElement",
- "range": [
- 185,
- 199
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 27
- },
- "end": {
- "line": 9,
- "column": 41
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 188,
- 192
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 30
- },
- "end": {
- "line": 9,
- "column": 34
- }
- },
- "name": "args",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 9,
- "column": 36
- },
- "end": {
- "line": 9,
- "column": 41
- }
- },
- "range": [
- 194,
- 199
- ],
- "typeAnnotation": {
- "type": "TSArrayType",
- "range": [
- 194,
- 199
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 36
- },
- "end": {
- "line": 9,
- "column": 41
- }
- },
- "elementType": {
- "type": "TSAnyKeyword",
- "range": [
- 194,
- 197
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 36
- },
- "end": {
- "line": 9,
- "column": 39
- }
- }
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 9,
- "column": 46
- },
- "end": {
- "line": 9,
- "column": 47
- }
- },
- "range": [
- 204,
- 205
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 204,
- 205
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 46
- },
- "end": {
- "line": 9,
- "column": 47
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 204,
- 205
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 46
- },
- "end": {
- "line": 9,
- "column": 47
- }
- },
- "name": "T"
- }
- }
- }
- },
- "range": [
- 163,
- 206
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 48
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 174,
- 177
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 16
- },
- "end": {
- "line": 9,
- "column": 19
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 175,
- 176
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 17
- },
- "end": {
- "line": 9,
- "column": 18
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "M",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 13,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Constructor",
- "range": [
- 21,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Base",
- "range": [
- 38,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 48
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 53,
- 59
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 60,
- 65
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 66,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Base",
- "range": [
- 74,
- 78
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 79,
- 80
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 30
- },
- "end": {
- "line": 2,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 81,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 86,
- 91
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 92,
- 93
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 94,
- 101
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "M",
- "range": [
- 102,
- 103
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 103,
- 104
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 5,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "any",
- "range": [
- 104,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 18
- },
- "end": {
- "line": 5,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 107,
- 108
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 21
- },
- "end": {
- "line": 5,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 108,
- 109
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 22
- },
- "end": {
- "line": 5,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 109,
- 110
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 23
- },
- "end": {
- "line": 5,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 110,
- 111
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 24
- },
- "end": {
- "line": 5,
- "column": 25
- }
- }
- },
- {
- "type": "Keyword",
- "value": "implements",
- "range": [
- 112,
- 122
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 26
- },
- "end": {
- "line": 5,
- "column": 36
- }
- }
- },
- {
- "type": "Identifier",
- "value": "I",
- "range": [
- 123,
- 124
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 37
- },
- "end": {
- "line": 5,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 125,
- 126
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 39
- },
- "end": {
- "line": 5,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 127,
- 128
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 41
- },
- "end": {
- "line": 5,
- "column": 42
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 130,
- 135
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 136,
- 137
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 6
- },
- "end": {
- "line": 7,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 138,
- 139
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 8
- },
- "end": {
- "line": 7,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 140,
- 141
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 10
- },
- "end": {
- "line": 7,
- "column": 11
- }
- }
- },
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 142,
- 151
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 0
- },
- "end": {
- "line": 8,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "I",
- "range": [
- 152,
- 153
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 10
- },
- "end": {
- "line": 8,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 154,
- 155
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 12
- },
- "end": {
- "line": 8,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 156,
- 157
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 14
- },
- "end": {
- "line": 8,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "type",
- "range": [
- 158,
- 162
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 4
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Constructor",
- "range": [
- 163,
- 174
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 174,
- 175
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 16
- },
- "end": {
- "line": 9,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 175,
- 176
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 17
- },
- "end": {
- "line": 9,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 176,
- 177
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 18
- },
- "end": {
- "line": 9,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 178,
- 179
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 20
- },
- "end": {
- "line": 9,
- "column": 21
- }
- }
- },
- {
- "type": "Keyword",
- "value": "new",
- "range": [
- 180,
- 183
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 22
- },
- "end": {
- "line": 9,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 184,
- 185
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 26
- },
- "end": {
- "line": 9,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 185,
- 188
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 27
- },
- "end": {
- "line": 9,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "args",
- "range": [
- 188,
- 192
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 30
- },
- "end": {
- "line": 9,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 192,
- 193
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 34
- },
- "end": {
- "line": 9,
- "column": 35
- }
- }
- },
- {
- "type": "Identifier",
- "value": "any",
- "range": [
- 194,
- 197
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 36
- },
- "end": {
- "line": 9,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 197,
- 198
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 39
- },
- "end": {
- "line": 9,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 198,
- 199
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 40
- },
- "end": {
- "line": 9,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 199,
- 200
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 41
- },
- "end": {
- "line": 9,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "range": [
- 201,
- 203
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 43
- },
- "end": {
- "line": 9,
- "column": 45
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 204,
- 205
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 46
- },
- "end": {
- "line": 9,
- "column": 47
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 205,
- 206
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 47
- },
- "end": {
- "line": 9,
- "column": 48
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-optional-computed-property.result.js b/tests/fixtures/typescript/basics/class-with-optional-computed-property.result.js
deleted file mode 100644
index 2c07fbe..0000000
--- a/tests/fixtures/typescript/basics/class-with-optional-computed-property.result.js
+++ /dev/null
@@ -1,356 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "X"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 14,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "key": {
- "type": "Literal",
- "range": [
- 23,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "value": "foo",
- "raw": "'foo'"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 33,
- 42
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "name": "undefined"
- },
- "computed": true,
- "static": false,
- "accessibility": "private",
- "readonly": false,
- "decorators": [],
- "typeAnnotation": null,
- "optional": true
- }
- ],
- "range": [
- 8,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "String",
- "value": "'foo'",
- "range": [
- 23,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "undefined",
- "range": [
- 33,
- 42
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-optional-methods.result.js b/tests/fixtures/typescript/basics/class-with-optional-methods.result.js
deleted file mode 100644
index 01de572..0000000
--- a/tests/fixtures/typescript/basics/class-with-optional-methods.result.js
+++ /dev/null
@@ -1,771 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 67
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 67
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "name": "foo",
- "optional": true
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": null,
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 24,
- 39
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 17
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "name": "bar",
- "optional": true
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": null,
- "range": [
- 28,
- 39
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 17
- }
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "range": [
- 32,
- 38
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 32,
- 38
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- },
- {
- "type": "MethodDefinition",
- "range": [
- 42,
- 65
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 25
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 50,
- 53
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "name": "baz",
- "optional": true
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": null,
- "range": [
- 54,
- 65
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 25
- }
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 24
- }
- },
- "range": [
- 58,
- 64
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 58,
- 64
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 24
- }
- }
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": "private",
- "decorators": []
- }
- ],
- "range": [
- 10,
- 67
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 6
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 32,
- 38
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 17
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 42,
- 49
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 50,
- 53
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 54,
- 55
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 16
- },
- "end": {
- "line": 4,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 58,
- 64
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 24
- },
- "end": {
- "line": 4,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 66,
- 67
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-optional-properties.result.js b/tests/fixtures/typescript/basics/class-with-optional-properties.result.js
deleted file mode 100644
index f219614..0000000
--- a/tests/fixtures/typescript/basics/class-with-optional-properties.result.js
+++ /dev/null
@@ -1,598 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 63
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 63
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 14,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "name": "foo",
- "optional": true
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [],
- "typeAnnotation": null
- },
- {
- "type": "ClassProperty",
- "range": [
- 22,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- },
- "name": "bar",
- "optional": true
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 15
- }
- },
- "range": [
- 29,
- 35
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 29,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- }
- }
- },
- {
- "type": "ClassProperty",
- "range": [
- 39,
- 61
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 24
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 47,
- 50
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "name": "baz",
- "optional": true
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": "private",
- "readonly": false,
- "decorators": [],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 23
- }
- },
- "range": [
- 54,
- 60
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 54,
- 60
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 23
- }
- }
- }
- }
- }
- ],
- "range": [
- 10,
- 63
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 29,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 39,
- 46
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 2
- },
- "end": {
- "line": 4,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 47,
- 50
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 54,
- 60
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 60,
- 61
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 23
- },
- "end": {
- "line": 4,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-optional-property-undefined.result.js b/tests/fixtures/typescript/basics/class-with-optional-property-undefined.result.js
deleted file mode 100644
index 029d97d..0000000
--- a/tests/fixtures/typescript/basics/class-with-optional-property-undefined.result.js
+++ /dev/null
@@ -1,319 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "X"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 12,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 27
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "name": "foo",
- "optional": true
- },
- "value": {
- "type": "Identifier",
- "range": [
- 27,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 26
- }
- },
- "name": "undefined"
- },
- "computed": false,
- "static": false,
- "accessibility": "private",
- "readonly": false,
- "decorators": [],
- "typeAnnotation": null
- }
- ],
- "range": [
- 8,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 12,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Keyword",
- "value": "undefined",
- "range": [
- 27,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-private-parameter-properties.result.js b/tests/fixtures/typescript/basics/class-with-private-parameter-properties.result.js
deleted file mode 100644
index 6239f46..0000000
--- a/tests/fixtures/typescript/basics/class-with-private-parameter-properties.result.js
+++ /dev/null
@@ -1,1139 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 203
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 203
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 201
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 59
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "TSParameterProperty",
- "range": [
- 26,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 39
- }
- },
- "accessibility": "private",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 34,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 31
- }
- },
- "name": "firstName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 39
- }
- },
- "range": [
- 45,
- 51
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 45,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 39
- }
- }
- }
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 67,
- 100
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 47
- }
- },
- "accessibility": "private",
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 84,
- 92
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 31
- },
- "end": {
- "line": 3,
- "column": 39
- }
- },
- "name": "lastName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 41
- },
- "end": {
- "line": 3,
- "column": 47
- }
- },
- "range": [
- 94,
- 100
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 94,
- 100
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 41
- },
- "end": {
- "line": 3,
- "column": 47
- }
- }
- }
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 116,
- 140
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 38
- }
- },
- "accessibility": "private",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "AssignmentPattern",
- "range": [
- 116,
- 140
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 38
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 124,
- 127
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 22
- },
- "end": {
- "line": 4,
- "column": 25
- }
- },
- "name": "age",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 33
- }
- },
- "range": [
- 129,
- 135
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 129,
- 135
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 33
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 138,
- 140
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 36
- },
- "end": {
- "line": 4,
- "column": 38
- }
- },
- "value": 30,
- "raw": "30"
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 156,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 55
- }
- },
- "accessibility": "private",
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "AssignmentPattern",
- "range": [
- 156,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 55
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 173,
- 180
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 31
- },
- "end": {
- "line": 5,
- "column": 38
- }
- },
- "name": "student",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 5,
- "column": 40
- },
- "end": {
- "line": 5,
- "column": 47
- }
- },
- "range": [
- 182,
- 189
- ],
- "typeAnnotation": {
- "type": "TSBooleanKeyword",
- "range": [
- 182,
- 189
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 40
- },
- "end": {
- "line": 5,
- "column": 47
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 192,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 50
- },
- "end": {
- "line": 5,
- "column": 55
- }
- },
- "value": false,
- "raw": "false"
- }
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 199,
- 201
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 57
- },
- "end": {
- "line": 5,
- "column": 59
- }
- },
- "body": []
- },
- "range": [
- 25,
- 201
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 5,
- "column": 59
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 10,
- 203
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 26,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "firstName",
- "range": [
- 34,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 31
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 45,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 39
- },
- "end": {
- "line": 2,
- "column": 40
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 67,
- 74
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 75,
- 83
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "lastName",
- "range": [
- 84,
- 92
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 31
- },
- "end": {
- "line": 3,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 92,
- 93
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 39
- },
- "end": {
- "line": 3,
- "column": 40
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 94,
- 100
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 41
- },
- "end": {
- "line": 3,
- "column": 47
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 100,
- 101
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 47
- },
- "end": {
- "line": 3,
- "column": 48
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 116,
- 123
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "age",
- "range": [
- 124,
- 127
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 22
- },
- "end": {
- "line": 4,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 127,
- 128
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 25
- },
- "end": {
- "line": 4,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 129,
- 135
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 136,
- 137
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 34
- },
- "end": {
- "line": 4,
- "column": 35
- }
- }
- },
- {
- "type": "Numeric",
- "value": "30",
- "range": [
- 138,
- 140
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 36
- },
- "end": {
- "line": 4,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 140,
- 141
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 38
- },
- "end": {
- "line": 4,
- "column": 39
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 156,
- 163
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 164,
- 172
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 22
- },
- "end": {
- "line": 5,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "student",
- "range": [
- 173,
- 180
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 31
- },
- "end": {
- "line": 5,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 180,
- 181
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 38
- },
- "end": {
- "line": 5,
- "column": 39
- }
- }
- },
- {
- "type": "Identifier",
- "value": "boolean",
- "range": [
- 182,
- 189
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 40
- },
- "end": {
- "line": 5,
- "column": 47
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 190,
- 191
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 48
- },
- "end": {
- "line": 5,
- "column": 49
- }
- }
- },
- {
- "type": "Boolean",
- "value": "false",
- "range": [
- 192,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 50
- },
- "end": {
- "line": 5,
- "column": 55
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 197,
- 198
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 55
- },
- "end": {
- "line": 5,
- "column": 56
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 199,
- 200
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 57
- },
- "end": {
- "line": 5,
- "column": 58
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 200,
- 201
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 58
- },
- "end": {
- "line": 5,
- "column": 59
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 202,
- 203
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-protected-parameter-properties.result.js b/tests/fixtures/typescript/basics/class-with-protected-parameter-properties.result.js
deleted file mode 100644
index 0d44bed..0000000
--- a/tests/fixtures/typescript/basics/class-with-protected-parameter-properties.result.js
+++ /dev/null
@@ -1,1139 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 211
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 211
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 209
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 61
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "TSParameterProperty",
- "range": [
- 26,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 41
- }
- },
- "accessibility": "protected",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 36,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "name": "firstName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- },
- "range": [
- 47,
- 53
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 47,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- }
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 69,
- 104
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 49
- }
- },
- "accessibility": "protected",
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 88,
- 96
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 41
- }
- },
- "name": "lastName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 43
- },
- "end": {
- "line": 3,
- "column": 49
- }
- },
- "range": [
- 98,
- 104
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 98,
- 104
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 43
- },
- "end": {
- "line": 3,
- "column": 49
- }
- }
- }
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 120,
- 146
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 40
- }
- },
- "accessibility": "protected",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "AssignmentPattern",
- "range": [
- 120,
- 146
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 40
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 130,
- 133
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 24
- },
- "end": {
- "line": 4,
- "column": 27
- }
- },
- "name": "age",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 29
- },
- "end": {
- "line": 4,
- "column": 35
- }
- },
- "range": [
- 135,
- 141
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 135,
- 141
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 29
- },
- "end": {
- "line": 4,
- "column": 35
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 144,
- 146
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 38
- },
- "end": {
- "line": 4,
- "column": 40
- }
- },
- "value": 30,
- "raw": "30"
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 162,
- 205
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 57
- }
- },
- "accessibility": "protected",
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "AssignmentPattern",
- "range": [
- 162,
- 205
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 57
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 181,
- 188
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 33
- },
- "end": {
- "line": 5,
- "column": 40
- }
- },
- "name": "student",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 5,
- "column": 42
- },
- "end": {
- "line": 5,
- "column": 49
- }
- },
- "range": [
- 190,
- 197
- ],
- "typeAnnotation": {
- "type": "TSBooleanKeyword",
- "range": [
- 190,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 42
- },
- "end": {
- "line": 5,
- "column": 49
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 200,
- 205
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 52
- },
- "end": {
- "line": 5,
- "column": 57
- }
- },
- "value": false,
- "raw": "false"
- }
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 207,
- 209
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 59
- },
- "end": {
- "line": 5,
- "column": 61
- }
- },
- "body": []
- },
- "range": [
- 25,
- 209
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 5,
- "column": 61
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 10,
- 211
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 26,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "firstName",
- "range": [
- 36,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 47,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 41
- },
- "end": {
- "line": 2,
- "column": 42
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 69,
- 78
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 79,
- 87
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "lastName",
- "range": [
- 88,
- 96
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 96,
- 97
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 41
- },
- "end": {
- "line": 3,
- "column": 42
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 98,
- 104
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 43
- },
- "end": {
- "line": 3,
- "column": 49
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 104,
- 105
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 49
- },
- "end": {
- "line": 3,
- "column": 50
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 120,
- 129
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "age",
- "range": [
- 130,
- 133
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 24
- },
- "end": {
- "line": 4,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 133,
- 134
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 135,
- 141
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 29
- },
- "end": {
- "line": 4,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 142,
- 143
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 36
- },
- "end": {
- "line": 4,
- "column": 37
- }
- }
- },
- {
- "type": "Numeric",
- "value": "30",
- "range": [
- 144,
- 146
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 38
- },
- "end": {
- "line": 4,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 146,
- 147
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 40
- },
- "end": {
- "line": 4,
- "column": 41
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 162,
- 171
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 172,
- 180
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 24
- },
- "end": {
- "line": 5,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "student",
- "range": [
- 181,
- 188
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 33
- },
- "end": {
- "line": 5,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 188,
- 189
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 40
- },
- "end": {
- "line": 5,
- "column": 41
- }
- }
- },
- {
- "type": "Identifier",
- "value": "boolean",
- "range": [
- 190,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 42
- },
- "end": {
- "line": 5,
- "column": 49
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 198,
- 199
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 50
- },
- "end": {
- "line": 5,
- "column": 51
- }
- }
- },
- {
- "type": "Boolean",
- "value": "false",
- "range": [
- 200,
- 205
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 52
- },
- "end": {
- "line": 5,
- "column": 57
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 205,
- 206
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 57
- },
- "end": {
- "line": 5,
- "column": 58
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 207,
- 208
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 59
- },
- "end": {
- "line": 5,
- "column": 60
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 208,
- 209
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 60
- },
- "end": {
- "line": 5,
- "column": 61
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 210,
- 211
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-public-parameter-properties.result.js b/tests/fixtures/typescript/basics/class-with-public-parameter-properties.result.js
deleted file mode 100644
index 8c8c738..0000000
--- a/tests/fixtures/typescript/basics/class-with-public-parameter-properties.result.js
+++ /dev/null
@@ -1,1139 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 199
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 199
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 197
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 58
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "TSParameterProperty",
- "range": [
- 26,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "accessibility": "public",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 33,
- 42
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 30
- }
- },
- "name": "firstName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "range": [
- 44,
- 50
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 44,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 38
- }
- }
- }
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 66,
- 98
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 46
- }
- },
- "accessibility": "public",
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 82,
- 90
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 38
- }
- },
- "name": "lastName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 40
- },
- "end": {
- "line": 3,
- "column": 46
- }
- },
- "range": [
- 92,
- 98
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 92,
- 98
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 40
- },
- "end": {
- "line": 3,
- "column": 46
- }
- }
- }
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 114,
- 137
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 37
- }
- },
- "accessibility": "public",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "AssignmentPattern",
- "range": [
- 114,
- 137
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 37
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 121,
- 124
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 21
- },
- "end": {
- "line": 4,
- "column": 24
- }
- },
- "name": "age",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 26
- },
- "end": {
- "line": 4,
- "column": 32
- }
- },
- "range": [
- 126,
- 132
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 126,
- 132
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 26
- },
- "end": {
- "line": 4,
- "column": 32
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 135,
- 137
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 35
- },
- "end": {
- "line": 4,
- "column": 37
- }
- },
- "value": 30,
- "raw": "30"
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 153,
- 193
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 54
- }
- },
- "accessibility": "public",
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "AssignmentPattern",
- "range": [
- 153,
- 193
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 54
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 169,
- 176
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 30
- },
- "end": {
- "line": 5,
- "column": 37
- }
- },
- "name": "student",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 5,
- "column": 39
- },
- "end": {
- "line": 5,
- "column": 46
- }
- },
- "range": [
- 178,
- 185
- ],
- "typeAnnotation": {
- "type": "TSBooleanKeyword",
- "range": [
- 178,
- 185
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 39
- },
- "end": {
- "line": 5,
- "column": 46
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 188,
- 193
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 49
- },
- "end": {
- "line": 5,
- "column": 54
- }
- },
- "value": false,
- "raw": "false"
- }
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 195,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 56
- },
- "end": {
- "line": 5,
- "column": 58
- }
- },
- "body": []
- },
- "range": [
- 25,
- 197
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 5,
- "column": 58
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 10,
- 199
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 26,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "firstName",
- "range": [
- 33,
- 42
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 30
- },
- "end": {
- "line": 2,
- "column": 31
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 44,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 38
- },
- "end": {
- "line": 2,
- "column": 39
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 66,
- 72
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 73,
- 81
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "lastName",
- "range": [
- 82,
- 90
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 90,
- 91
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 38
- },
- "end": {
- "line": 3,
- "column": 39
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 92,
- 98
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 40
- },
- "end": {
- "line": 3,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 98,
- 99
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 46
- },
- "end": {
- "line": 3,
- "column": 47
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 114,
- 120
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "age",
- "range": [
- 121,
- 124
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 21
- },
- "end": {
- "line": 4,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 124,
- 125
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 24
- },
- "end": {
- "line": 4,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 126,
- 132
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 26
- },
- "end": {
- "line": 4,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 133,
- 134
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 33
- },
- "end": {
- "line": 4,
- "column": 34
- }
- }
- },
- {
- "type": "Numeric",
- "value": "30",
- "range": [
- 135,
- 137
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 35
- },
- "end": {
- "line": 4,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 137,
- 138
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 37
- },
- "end": {
- "line": 4,
- "column": 38
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 153,
- 159
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 160,
- 168
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 21
- },
- "end": {
- "line": 5,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "student",
- "range": [
- 169,
- 176
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 30
- },
- "end": {
- "line": 5,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 176,
- 177
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 37
- },
- "end": {
- "line": 5,
- "column": 38
- }
- }
- },
- {
- "type": "Identifier",
- "value": "boolean",
- "range": [
- 178,
- 185
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 39
- },
- "end": {
- "line": 5,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 186,
- 187
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 47
- },
- "end": {
- "line": 5,
- "column": 48
- }
- }
- },
- {
- "type": "Boolean",
- "value": "false",
- "range": [
- 188,
- 193
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 49
- },
- "end": {
- "line": 5,
- "column": 54
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 193,
- 194
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 54
- },
- "end": {
- "line": 5,
- "column": 55
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 195,
- 196
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 56
- },
- "end": {
- "line": 5,
- "column": 57
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 196,
- 197
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 57
- },
- "end": {
- "line": 5,
- "column": 58
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 198,
- 199
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-readonly-parameter-properties.result.js b/tests/fixtures/typescript/basics/class-with-readonly-parameter-properties.result.js
deleted file mode 100644
index 33c3979..0000000
--- a/tests/fixtures/typescript/basics/class-with-readonly-parameter-properties.result.js
+++ /dev/null
@@ -1,703 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 109
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 109
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 107
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 53
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "TSParameterProperty",
- "range": [
- 26,
- 52
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 40
- }
- },
- "accessibility": null,
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 35,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "name": "firstName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 40
- }
- },
- "range": [
- 46,
- 52
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 46,
- 52
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 40
- }
- }
- }
- }
- },
- "decorators": []
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 68,
- 103
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 49
- }
- },
- "accessibility": null,
- "readonly": true,
- "static": false,
- "export": false,
- "parameter": {
- "type": "AssignmentPattern",
- "range": [
- 68,
- 103
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 49
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 77,
- 85
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 31
- }
- },
- "name": "lastName",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 39
- }
- },
- "range": [
- 87,
- 93
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 87,
- 93
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 39
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 96,
- 103
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 42
- },
- "end": {
- "line": 3,
- "column": 49
- }
- },
- "value": "Smith",
- "raw": "'Smith'"
- }
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 105,
- 107
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 51
- },
- "end": {
- "line": 3,
- "column": 53
- }
- },
- "body": []
- },
- "range": [
- 25,
- 107
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 53
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 10,
- 109
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 26,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "firstName",
- "range": [
- 35,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 46,
- 52
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 40
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 68,
- 76
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "lastName",
- "range": [
- 77,
- 85
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 85,
- 86
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 31
- },
- "end": {
- "line": 3,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 87,
- 93
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 94,
- 95
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 40
- },
- "end": {
- "line": 3,
- "column": 41
- }
- }
- },
- {
- "type": "String",
- "value": "'Smith'",
- "range": [
- 96,
- 103
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 42
- },
- "end": {
- "line": 3,
- "column": 49
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 103,
- 104
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 49
- },
- "end": {
- "line": 3,
- "column": 50
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 105,
- 106
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 51
- },
- "end": {
- "line": 3,
- "column": 52
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 106,
- 107
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 52
- },
- "end": {
- "line": 3,
- "column": 53
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 108,
- 109
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-readonly-property.result.js b/tests/fixtures/typescript/basics/class-with-readonly-property.result.js
deleted file mode 100644
index 0776637..0000000
--- a/tests/fixtures/typescript/basics/class-with-readonly-property.result.js
+++ /dev/null
@@ -1,319 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 16,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 35
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "name": "foo"
- },
- "value": {
- "type": "Literal",
- "range": [
- 38,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 34
- }
- },
- "value": "string",
- "raw": "'string'"
- },
- "computed": false,
- "static": false,
- "accessibility": "public",
- "readonly": true,
- "decorators": [],
- "typeAnnotation": null
- }
- ],
- "range": [
- 10,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 16,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 23,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "String",
- "value": "'string'",
- "range": [
- 38,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-static-parameter-properties.result.js b/tests/fixtures/typescript/basics/class-with-static-parameter-properties.result.js
deleted file mode 100644
index 5ebfa84..0000000
--- a/tests/fixtures/typescript/basics/class-with-static-parameter-properties.result.js
+++ /dev/null
@@ -1,467 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 16,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 16,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "TSParameterProperty",
- "range": [
- 28,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": true,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "name": "a",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "range": [
- 38,
- 44
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 38,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- }
- }
- },
- "decorators": []
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 46,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": []
- },
- "range": [
- 27,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 10,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 16,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 28,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 38,
- 44
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-type-parameter-default.result.js b/tests/fixtures/typescript/basics/class-with-type-parameter-default.result.js
deleted file mode 100644
index 3e17f6d..0000000
--- a/tests/fixtures/typescript/basics/class-with-type-parameter-default.result.js
+++ /dev/null
@@ -1,313 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 9,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "T",
- "constraint": null,
- "default": {
- "type": "TSTypeReference",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "Bar"
- }
- }
- }
- ]
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 19,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-type-parameter-underscore.result.js b/tests/fixtures/typescript/basics/class-with-type-parameter-underscore.result.js
deleted file mode 100644
index 1de1663..0000000
--- a/tests/fixtures/typescript/basics/class-with-type-parameter-underscore.result.js
+++ /dev/null
@@ -1,242 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 7,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 8,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "__P",
- "constraint": null
- }
- ]
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 13,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "__P",
- "range": [
- 8,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/class-with-type-parameter.result.js b/tests/fixtures/typescript/basics/class-with-type-parameter.result.js
deleted file mode 100644
index d7bee94..0000000
--- a/tests/fixtures/typescript/basics/class-with-type-parameter.result.js
+++ /dev/null
@@ -1,242 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 13,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/declare-class-with-optional-method.result.js b/tests/fixtures/typescript/basics/declare-class-with-optional-method.result.js
deleted file mode 100644
index a31dfd9..0000000
--- a/tests/fixtures/typescript/basics/declare-class-with-optional-method.result.js
+++ /dev/null
@@ -1,393 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 24,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "bar",
- "optional": true
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": null,
- "range": [
- 28,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 32,
- 35
- ],
- "typeAnnotation": {
- "type": "TSAnyKeyword",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 18,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "declare",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 8,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "any",
- "range": [
- 32,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/declare-function.result.js b/tests/fixtures/typescript/basics/declare-function.result.js
deleted file mode 100644
index efe5741..0000000
--- a/tests/fixtures/typescript/basics/declare-function.result.js
+++ /dev/null
@@ -1,347 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "body": [
- {
- "type": "DeclareFunction",
- "range": [
- 0,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 17,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "name": "foo"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "range": [
- 26,
- 32
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 26,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- }
- }
- }
- ],
- "body": null,
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 35,
- 41
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 35,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "declare",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 8,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 17,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 26,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 35,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/export-default-class-with-generic.result.js b/tests/fixtures/typescript/basics/export-default-class-with-generic.result.js
deleted file mode 100644
index d0c5672..0000000
--- a/tests/fixtures/typescript/basics/export-default-class-with-generic.result.js
+++ /dev/null
@@ -1,260 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 15,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- },
- "id": null,
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 24,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "default",
- "range": [
- 7,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 15,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/export-default-class-with-multiple-generics.result.js b/tests/fixtures/typescript/basics/export-default-class-with-multiple-generics.result.js
deleted file mode 100644
index 837c99f..0000000
--- a/tests/fixtures/typescript/basics/export-default-class-with-multiple-generics.result.js
+++ /dev/null
@@ -1,315 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 15,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 20,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "T",
- "constraint": null
- },
- {
- "type": "TypeParameter",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "name": "U",
- "constraint": null
- }
- ]
- },
- "id": null,
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 27,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "default",
- "range": [
- 7,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 15,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "U",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/export-named-class-with-generic.result.js b/tests/fixtures/typescript/basics/export-named-class-with-generic.result.js
deleted file mode 100644
index a8d4119..0000000
--- a/tests/fixtures/typescript/basics/export-named-class-with-generic.result.js
+++ /dev/null
@@ -1,279 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 7,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 16,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- },
- "id": {
- "type": "Identifier",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 20,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 7,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/export-named-class-with-multiple-generics.result.js b/tests/fixtures/typescript/basics/export-named-class-with-multiple-generics.result.js
deleted file mode 100644
index ae3b317..0000000
--- a/tests/fixtures/typescript/basics/export-named-class-with-multiple-generics.result.js
+++ /dev/null
@@ -1,334 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 7,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 16,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "T",
- "constraint": null
- },
- {
- "type": "TypeParameter",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "U",
- "constraint": null
- }
- ]
- },
- "id": {
- "type": "Identifier",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 23,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 0,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 7,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "U",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/export-type-alias-declaration.result.js b/tests/fixtures/typescript/basics/export-type-alias-declaration.result.js
deleted file mode 100644
index cc0f111..0000000
--- a/tests/fixtures/typescript/basics/export-type-alias-declaration.result.js
+++ /dev/null
@@ -1,293 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "VariableDeclaration",
- "range": [
- 7,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "kind": "type",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "range": [
- 12,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "TestAlias"
- },
- "init": {
- "type": "TSUnionType",
- "range": [
- 24,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "types": [
- {
- "type": "TSStringKeyword",
- "range": [
- 24,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "TSNumberKeyword",
- "range": [
- 33,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 39
- }
- }
- }
- ]
- },
- "range": [
- 12,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- }
- ]
- },
- "range": [
- 0,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "type",
- "range": [
- 7,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "TestAlias",
- "range": [
- 12,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 24,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "|",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 33,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/export-type-class-declaration.result.js b/tests/fixtures/typescript/basics/export-type-class-declaration.result.js
deleted file mode 100644
index 1aea65b..0000000
--- a/tests/fixtures/typescript/basics/export-type-class-declaration.result.js
+++ /dev/null
@@ -1,371 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "VariableDeclaration",
- "range": [
- 7,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "kind": "type",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "range": [
- 12,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "TestClassProps"
- },
- "init": {
- "type": "TSTypeLiteral",
- "range": [
- 29,
- 50
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "members": [
- {
- "type": "TSPropertySignature",
- "range": [
- 35,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 35,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "name": "count"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "range": [
- 42,
- 48
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 42,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ]
- },
- "range": [
- 12,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 2
- }
- }
- }
- ]
- },
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "type",
- "range": [
- 7,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "TestClassProps",
- "range": [
- 12,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "count",
- "range": [
- 35,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 42,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/export-type-function-declaration.result.js b/tests/fixtures/typescript/basics/export-type-function-declaration.result.js
deleted file mode 100644
index cbae7e5..0000000
--- a/tests/fixtures/typescript/basics/export-type-function-declaration.result.js
+++ /dev/null
@@ -1,418 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "VariableDeclaration",
- "range": [
- 7,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "kind": "type",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "range": [
- 12,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "TestCallback"
- },
- "init": {
- "type": "TSFunctionType",
- "range": [
- 27,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "typeParameters": null,
- "parameters": [
- {
- "type": "Identifier",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "a",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 31,
- 37
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 31,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "range": [
- 42,
- 46
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 42,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- }
- }
- },
- "range": [
- 12,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- }
- ]
- },
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "specifiers": [],
- "source": null
- }
- ],
- "sourceType": "module",
- "tokens": [
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "type",
- "range": [
- 7,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "TestCallback",
- "range": [
- 12,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 31,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "range": [
- 39,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 42,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-await.result.js b/tests/fixtures/typescript/basics/function-with-await.result.js
deleted file mode 100644
index a4f575c..0000000
--- a/tests/fixtures/typescript/basics/function-with-await.result.js
+++ /dev/null
@@ -1,349 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "name": "hope"
- },
- "generator": false,
- "expression": false,
- "async": true,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 20,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "future"
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 28,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 34,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "expression": {
- "type": "AwaitExpression",
- "range": [
- 34,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 40,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "name": "future"
- }
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "async",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 6,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "hope",
- "range": [
- 15,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "future",
- "range": [
- 20,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "await",
- "range": [
- 34,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "future",
- "range": [
- 40,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-object-type-with-optional-properties.result.js b/tests/fixtures/typescript/basics/function-with-object-type-with-optional-properties.result.js
deleted file mode 100644
index 71cb2fa..0000000
--- a/tests/fixtures/typescript/basics/function-with-object-type-with-optional-properties.result.js
+++ /dev/null
@@ -1,746 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "name": "foo"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "range": [
- 13,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "bar"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- },
- {
- "type": "Property",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "baz"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "baz"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "range": [
- 25,
- 45
- ],
- "typeAnnotation": {
- "type": "TSTypeLiteral",
- "range": [
- 25,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 45
- }
- },
- "members": [
- {
- "type": "TSPropertySignature",
- "range": [
- 26,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "optional": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "bar"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 32,
- 38
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 32,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 40,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "optional": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 40,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "name": "baz"
- },
- "typeAnnotation": null,
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ]
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 47,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 32,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 1,
- "column": 39
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 40,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 43
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 43
- },
- "end": {
- "line": 1,
- "column": 44
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 45
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 48
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-object-type-without-annotation.result.js b/tests/fixtures/typescript/basics/function-with-object-type-without-annotation.result.js
deleted file mode 100644
index 07e565f..0000000
--- a/tests/fixtures/typescript/basics/function-with-object-type-without-annotation.result.js
+++ /dev/null
@@ -1,710 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "name": "foo"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "ObjectPattern",
- "range": [
- 13,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "bar"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- },
- {
- "type": "Property",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "baz"
- },
- "value": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "baz"
- },
- "computed": false,
- "method": false,
- "shorthand": true,
- "kind": "init"
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "range": [
- 25,
- 43
- ],
- "typeAnnotation": {
- "type": "TSTypeLiteral",
- "range": [
- 25,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "members": [
- {
- "type": "TSPropertySignature",
- "range": [
- 26,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "bar"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "range": [
- 31,
- 37
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 31,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 39,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 39,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "name": "baz"
- },
- "typeAnnotation": null,
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ]
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 45,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": []
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 31,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 39,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 43
- },
- "end": {
- "line": 1,
- "column": 44
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 45
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-type-parameters-that-have-comments.result.js b/tests/fixtures/typescript/basics/function-with-type-parameters-that-have-comments.result.js
deleted file mode 100644
index 6b925ea..0000000
--- a/tests/fixtures/typescript/basics/function-with-type-parameters-that-have-comments.result.js
+++ /dev/null
@@ -1,279 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "compare"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "range": [
- 33,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "body": []
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 16,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "compare",
- "range": [
- 9,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-type-parameters-with-constraint.result.js b/tests/fixtures/typescript/basics/function-with-type-parameters-with-constraint.result.js
deleted file mode 100644
index 1e7df8c..0000000
--- a/tests/fixtures/typescript/basics/function-with-type-parameters-with-constraint.result.js
+++ /dev/null
@@ -1,670 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "b",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 28,
- 29
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "X"
- }
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 34,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 40,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "b"
- }
- }
- ]
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 32,
- 33
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "name": "X"
- }
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 10,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 11,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "name": "X",
- "constraint": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 21,
- 23
- ],
- "typeAnnotation": {
- "type": "TSTypeLiteral",
- "range": [
- 21,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "members": []
- }
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 13,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 40,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-type-parameters.result.js b/tests/fixtures/typescript/basics/function-with-type-parameters.result.js
deleted file mode 100644
index 1eb5405..0000000
--- a/tests/fixtures/typescript/basics/function-with-type-parameters.result.js
+++ /dev/null
@@ -1,582 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "a"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "b",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "range": [
- 17,
- 18
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "name": "X"
- }
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 23,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 29,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "b"
- }
- }
- ]
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "range": [
- 21,
- 22
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "X"
- }
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "name": "X",
- "constraint": null
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "X",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 29,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-types-assignation.result.js b/tests/fixtures/typescript/basics/function-with-types-assignation.result.js
deleted file mode 100644
index f6383af..0000000
--- a/tests/fixtures/typescript/basics/function-with-types-assignation.result.js
+++ /dev/null
@@ -1,935 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 96
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 96
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "message"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "name",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 22,
- 28
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 22,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- }
- }
- },
- {
- "type": "AssignmentPattern",
- "range": [
- 30,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 30,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "name": "age",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 40
- }
- },
- "range": [
- 34,
- 40
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 34,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- }
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 43,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 43
- },
- "end": {
- "line": 1,
- "column": 46
- }
- },
- "value": 100,
- "raw": "100"
- }
- },
- {
- "type": "RestElement",
- "range": [
- 48,
- 69
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 48
- },
- "end": {
- "line": 1,
- "column": 69
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 51,
- 55
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 55
- }
- },
- "name": "args",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 56
- },
- "end": {
- "line": 1,
- "column": 69
- }
- },
- "range": [
- 56,
- 69
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 56,
- 69
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 56
- },
- "end": {
- "line": 1,
- "column": 69
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 56,
- 61
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 56
- },
- "end": {
- "line": 1,
- "column": 61
- }
- },
- "name": "Array"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 61,
- 69
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 61
- },
- "end": {
- "line": 1,
- "column": 69
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 62,
- 68
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 62
- },
- "end": {
- "line": 1,
- "column": 68
- }
- },
- "id": {
- "type": "TSStringKeyword",
- "range": [
- 62,
- 68
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 62
- },
- "end": {
- "line": 1,
- "column": 68
- }
- }
- },
- "typeParameters": null
- }
- ]
- }
- }
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 78,
- 96
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 78
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 82,
- 94
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 89,
- 93
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "name": "name"
- }
- }
- ]
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 71
- },
- "end": {
- "line": 1,
- "column": 77
- }
- },
- "range": [
- 71,
- 77
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 71,
- 77
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 71
- },
- "end": {
- "line": 1,
- "column": 77
- }
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "message",
- "range": [
- 9,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 22,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "age",
- "range": [
- 30,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 34,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- },
- {
- "type": "Numeric",
- "value": "100",
- "range": [
- 43,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 43
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 46
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "...",
- "range": [
- 48,
- 51
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 48
- },
- "end": {
- "line": 1,
- "column": 51
- }
- }
- },
- {
- "type": "Identifier",
- "value": "args",
- "range": [
- 51,
- 55
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 51
- },
- "end": {
- "line": 1,
- "column": 55
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 55
- },
- "end": {
- "line": 1,
- "column": 56
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Array",
- "range": [
- 56,
- 61
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 56
- },
- "end": {
- "line": 1,
- "column": 61
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 61,
- 62
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 61
- },
- "end": {
- "line": 1,
- "column": 62
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 62,
- 68
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 62
- },
- "end": {
- "line": 1,
- "column": 68
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 68,
- 69
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 68
- },
- "end": {
- "line": 1,
- "column": 69
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 69,
- 70
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 69
- },
- "end": {
- "line": 1,
- "column": 70
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 70,
- 71
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 70
- },
- "end": {
- "line": 1,
- "column": 71
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 71,
- 77
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 71
- },
- "end": {
- "line": 1,
- "column": 77
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 78,
- 79
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 78
- },
- "end": {
- "line": 1,
- "column": 79
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 82,
- 88
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 89,
- 93
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 93,
- 94
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 95,
- 96
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/function-with-types.result.js b/tests/fixtures/typescript/basics/function-with-types.result.js
deleted file mode 100644
index bccbe7b..0000000
--- a/tests/fixtures/typescript/basics/function-with-types.result.js
+++ /dev/null
@@ -1,454 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 57
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 57
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "message"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "name",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 22,
- 28
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 22,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 37,
- 57
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 43,
- 55
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "argument": {
- "type": "Identifier",
- "range": [
- 50,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "name": "name"
- }
- }
- ]
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 30,
- 36
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 30,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "message",
- "range": [
- 9,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 22,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 30,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 43,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 50,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 54,
- 55
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-extends-multiple.result.js b/tests/fixtures/typescript/basics/interface-extends-multiple.result.js
deleted file mode 100644
index 0ea4e1e..0000000
--- a/tests/fixtures/typescript/basics/interface-extends-multiple.result.js
+++ /dev/null
@@ -1,292 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 30,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Foo"
- },
- "heritage": [
- {
- "type": "TSInterfaceHeritage",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 22,
- 25
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "name": "Bar"
- }
- },
- {
- "type": "TSInterfaceHeritage",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 26,
- 29
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "name": "Baz"
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Baz",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-extends.result.js b/tests/fixtures/typescript/basics/interface-extends.result.js
deleted file mode 100644
index b898968..0000000
--- a/tests/fixtures/typescript/basics/interface-extends.result.js
+++ /dev/null
@@ -1,221 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 26,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Foo"
- },
- "heritage": [
- {
- "type": "TSInterfaceHeritage",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 22,
- 25
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "name": "Bar"
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 22,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-type-parameters.result.js b/tests/fixtures/typescript/basics/interface-type-parameters.result.js
deleted file mode 100644
index fd51c55..0000000
--- a/tests/fixtures/typescript/basics/interface-type-parameters.result.js
+++ /dev/null
@@ -1,241 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 17,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Foo"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-with-all-property-types.result.js b/tests/fixtures/typescript/basics/interface-with-all-property-types.result.js
deleted file mode 100644
index 72601f0..0000000
--- a/tests/fixtures/typescript/basics/interface-with-all-property-types.result.js
+++ /dev/null
@@ -1,3338 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 295
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 14,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 295
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 14,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [
- {
- "type": "TSPropertySignature",
- "range": [
- 20,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "baa"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 25,
- 31
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 25,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 37,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 17
- }
- },
- "optional": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 37,
- 40
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "name": "bar"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "range": [
- 43,
- 49
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 43,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 55,
- 69
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 18
- }
- },
- "optional": false,
- "computed": true,
- "key": {
- "type": "Identifier",
- "range": [
- 56,
- 59
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 8
- }
- },
- "name": "bax"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 17
- }
- },
- "range": [
- 62,
- 68
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 62,
- 68
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 17
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 74,
- 89
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 19
- }
- },
- "optional": true,
- "computed": true,
- "key": {
- "type": "Identifier",
- "range": [
- 75,
- 78
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 5
- },
- "end": {
- "line": 5,
- "column": 8
- }
- },
- "name": "baz"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 5,
- "column": 12
- },
- "end": {
- "line": 5,
- "column": 18
- }
- },
- "range": [
- 82,
- 88
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 82,
- 88
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 12
- },
- "end": {
- "line": 5,
- "column": 18
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 94,
- 116
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 26
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 95,
- 98
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 5
- },
- "end": {
- "line": 6,
- "column": 8
- }
- },
- "name": "eee",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 6,
- "column": 10
- },
- "end": {
- "line": 6,
- "column": 16
- }
- },
- "range": [
- 100,
- 106
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 100,
- 106
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 10
- },
- "end": {
- "line": 6,
- "column": 16
- }
- }
- }
- }
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 6,
- "column": 19
- },
- "end": {
- "line": 6,
- "column": 25
- }
- },
- "range": [
- 109,
- 115
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 109,
- 115
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 19
- },
- "end": {
- "line": 6,
- "column": 25
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 121,
- 144
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 27
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 122,
- 125
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 5
- },
- "end": {
- "line": 7,
- "column": 8
- }
- },
- "name": "fff",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 7,
- "column": 11
- },
- "end": {
- "line": 7,
- "column": 17
- }
- },
- "range": [
- 128,
- 134
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 128,
- 134
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 11
- },
- "end": {
- "line": 7,
- "column": 17
- }
- }
- }
- },
- "optional": true
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 7,
- "column": 20
- },
- "end": {
- "line": 7,
- "column": 26
- }
- },
- "range": [
- 137,
- 143
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 137,
- 143
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 20
- },
- "end": {
- "line": 7,
- "column": 26
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 149,
- 161
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 16
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 149,
- 152
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- },
- "name": "doo"
- },
- "params": [],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 8,
- "column": 11
- },
- "end": {
- "line": 8,
- "column": 15
- }
- },
- "range": [
- 156,
- 160
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 156,
- 160
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 11
- },
- "end": {
- "line": 8,
- "column": 15
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 166,
- 186
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 24
- }
- },
- "optional": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 166,
- 169
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 7
- }
- },
- "name": "doo"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 171,
- 172
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 9
- },
- "end": {
- "line": 9,
- "column": 10
- }
- },
- "name": "a"
- },
- {
- "type": "Identifier",
- "range": [
- 174,
- 175
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 12
- },
- "end": {
- "line": 9,
- "column": 13
- }
- },
- "name": "b"
- },
- {
- "type": "Identifier",
- "range": [
- 177,
- 178
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 15
- },
- "end": {
- "line": 9,
- "column": 16
- }
- },
- "name": "c"
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 9,
- "column": 19
- },
- "end": {
- "line": 9,
- "column": 23
- }
- },
- "range": [
- 181,
- 185
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 181,
- 185
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 19
- },
- "end": {
- "line": 9,
- "column": 23
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 191,
- 213
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 4
- },
- "end": {
- "line": 10,
- "column": 26
- }
- },
- "optional": true,
- "computed": true,
- "key": {
- "type": "Identifier",
- "range": [
- 192,
- 195
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 5
- },
- "end": {
- "line": 10,
- "column": 8
- }
- },
- "name": "loo"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 198,
- 199
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 11
- },
- "end": {
- "line": 10,
- "column": 12
- }
- },
- "name": "a"
- },
- {
- "type": "Identifier",
- "range": [
- 201,
- 202
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 14
- },
- "end": {
- "line": 10,
- "column": 15
- }
- },
- "name": "b"
- },
- {
- "type": "Identifier",
- "range": [
- 204,
- 205
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 17
- },
- "end": {
- "line": 10,
- "column": 18
- }
- },
- "name": "c"
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 10,
- "column": 21
- },
- "end": {
- "line": 10,
- "column": 25
- }
- },
- "range": [
- 208,
- 212
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 208,
- 212
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 21
- },
- "end": {
- "line": 10,
- "column": 25
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 218,
- 240
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 4
- },
- "end": {
- "line": 11,
- "column": 26
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 218,
- 221
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 4
- },
- "end": {
- "line": 11,
- "column": 7
- }
- },
- "name": "boo"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 225,
- 226
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 11
- },
- "end": {
- "line": 11,
- "column": 12
- }
- },
- "name": "a"
- },
- {
- "type": "Identifier",
- "range": [
- 228,
- 229
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 14
- },
- "end": {
- "line": 11,
- "column": 15
- }
- },
- "name": "b"
- },
- {
- "type": "Identifier",
- "range": [
- 231,
- 232
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 17
- },
- "end": {
- "line": 11,
- "column": 18
- }
- },
- "name": "c"
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 11,
- "column": 21
- },
- "end": {
- "line": 11,
- "column": 25
- }
- },
- "range": [
- 235,
- 239
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 235,
- 239
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 21
- },
- "end": {
- "line": 11,
- "column": 25
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false,
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 221,
- 224
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 7
- },
- "end": {
- "line": 11,
- "column": 10
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 222,
- 223
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 8
- },
- "end": {
- "line": 11,
- "column": 9
- }
- },
- "name": "J",
- "constraint": null
- }
- ]
- }
- },
- {
- "type": "TSConstructSignature",
- "range": [
- 245,
- 265
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 4
- },
- "end": {
- "line": 12,
- "column": 24
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 250,
- 251
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 9
- },
- "end": {
- "line": 12,
- "column": 10
- }
- },
- "name": "a"
- },
- {
- "type": "Identifier",
- "range": [
- 253,
- 254
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 12
- },
- "end": {
- "line": 12,
- "column": 13
- }
- },
- "name": "b",
- "optional": true
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 12,
- "column": 17
- },
- "end": {
- "line": 12,
- "column": 23
- }
- },
- "range": [
- 258,
- 264
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 258,
- 264
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 17
- },
- "end": {
- "line": 12,
- "column": 23
- }
- }
- }
- }
- },
- {
- "type": "TSConstructSignature",
- "range": [
- 270,
- 293
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 4
- },
- "end": {
- "line": 13,
- "column": 27
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 278,
- 279
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 12
- },
- "end": {
- "line": 13,
- "column": 13
- }
- },
- "name": "a"
- },
- {
- "type": "Identifier",
- "range": [
- 281,
- 282
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 15
- },
- "end": {
- "line": 13,
- "column": 16
- }
- },
- "name": "b",
- "optional": true
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 13,
- "column": 20
- },
- "end": {
- "line": 13,
- "column": 26
- }
- },
- "range": [
- 286,
- 292
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 286,
- 292
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 20
- },
- "end": {
- "line": 13,
- "column": 26
- }
- }
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 274,
- 277
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 8
- },
- "end": {
- "line": 13,
- "column": 11
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 275,
- 276
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 9
- },
- "end": {
- "line": 13,
- "column": 10
- }
- },
- "name": "F",
- "constraint": null
- }
- ]
- }
- }
- ],
- "range": [
- 14,
- 295
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 14,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Foo"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baa",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 25,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 37,
- 40
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 43,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bax",
- "range": [
- 56,
- 59
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 60,
- 61
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 62,
- 68
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 68,
- 69
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 74,
- 75
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 75,
- 78
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 5
- },
- "end": {
- "line": 5,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 78,
- 79
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 79,
- 80
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 5,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 80,
- 81
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 10
- },
- "end": {
- "line": 5,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 82,
- 88
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 12
- },
- "end": {
- "line": 5,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 88,
- 89
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 18
- },
- "end": {
- "line": 5,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 94,
- 95
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "eee",
- "range": [
- 95,
- 98
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 5
- },
- "end": {
- "line": 6,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 98,
- 99
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 100,
- 106
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 10
- },
- "end": {
- "line": 6,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 106,
- 107
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 16
- },
- "end": {
- "line": 6,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 107,
- 108
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 17
- },
- "end": {
- "line": 6,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 109,
- 115
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 19
- },
- "end": {
- "line": 6,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 115,
- 116
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 25
- },
- "end": {
- "line": 6,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 121,
- 122
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "fff",
- "range": [
- 122,
- 125
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 5
- },
- "end": {
- "line": 7,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 125,
- 126
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 8
- },
- "end": {
- "line": 7,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 126,
- 127
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 9
- },
- "end": {
- "line": 7,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 128,
- 134
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 11
- },
- "end": {
- "line": 7,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 134,
- 135
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 17
- },
- "end": {
- "line": 7,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 135,
- 136
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 18
- },
- "end": {
- "line": 7,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 137,
- 143
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 20
- },
- "end": {
- "line": 7,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 143,
- 144
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 26
- },
- "end": {
- "line": 7,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "doo",
- "range": [
- 149,
- 152
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 152,
- 153
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 7
- },
- "end": {
- "line": 8,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 153,
- 154
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 8
- },
- "end": {
- "line": 8,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 154,
- 155
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 9
- },
- "end": {
- "line": 8,
- "column": 10
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 156,
- 160
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 11
- },
- "end": {
- "line": 8,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 160,
- 161
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 15
- },
- "end": {
- "line": 8,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "doo",
- "range": [
- 166,
- 169
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 4
- },
- "end": {
- "line": 9,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 169,
- 170
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 7
- },
- "end": {
- "line": 9,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 170,
- 171
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 8
- },
- "end": {
- "line": 9,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 171,
- 172
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 9
- },
- "end": {
- "line": 9,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 172,
- 173
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 10
- },
- "end": {
- "line": 9,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 174,
- 175
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 12
- },
- "end": {
- "line": 9,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 175,
- 176
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 13
- },
- "end": {
- "line": 9,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "c",
- "range": [
- 177,
- 178
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 15
- },
- "end": {
- "line": 9,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 178,
- 179
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 16
- },
- "end": {
- "line": 9,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 179,
- 180
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 17
- },
- "end": {
- "line": 9,
- "column": 18
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 181,
- 185
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 19
- },
- "end": {
- "line": 9,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 185,
- 186
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 23
- },
- "end": {
- "line": 9,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 191,
- 192
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 4
- },
- "end": {
- "line": 10,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "loo",
- "range": [
- 192,
- 195
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 5
- },
- "end": {
- "line": 10,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 195,
- 196
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 8
- },
- "end": {
- "line": 10,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 196,
- 197
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 9
- },
- "end": {
- "line": 10,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 197,
- 198
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 10
- },
- "end": {
- "line": 10,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 198,
- 199
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 11
- },
- "end": {
- "line": 10,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 199,
- 200
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 12
- },
- "end": {
- "line": 10,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 201,
- 202
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 14
- },
- "end": {
- "line": 10,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 202,
- 203
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 15
- },
- "end": {
- "line": 10,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "c",
- "range": [
- 204,
- 205
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 17
- },
- "end": {
- "line": 10,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 205,
- 206
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 18
- },
- "end": {
- "line": 10,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 206,
- 207
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 19
- },
- "end": {
- "line": 10,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 208,
- 212
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 21
- },
- "end": {
- "line": 10,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 212,
- 213
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 25
- },
- "end": {
- "line": 10,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "boo",
- "range": [
- 218,
- 221
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 4
- },
- "end": {
- "line": 11,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 221,
- 222
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 7
- },
- "end": {
- "line": 11,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "J",
- "range": [
- 222,
- 223
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 8
- },
- "end": {
- "line": 11,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 223,
- 224
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 9
- },
- "end": {
- "line": 11,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 224,
- 225
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 10
- },
- "end": {
- "line": 11,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 225,
- 226
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 11
- },
- "end": {
- "line": 11,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 226,
- 227
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 12
- },
- "end": {
- "line": 11,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 228,
- 229
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 14
- },
- "end": {
- "line": 11,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 229,
- 230
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 15
- },
- "end": {
- "line": 11,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "c",
- "range": [
- 231,
- 232
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 17
- },
- "end": {
- "line": 11,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 232,
- 233
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 18
- },
- "end": {
- "line": 11,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 233,
- 234
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 19
- },
- "end": {
- "line": 11,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 235,
- 239
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 21
- },
- "end": {
- "line": 11,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 239,
- 240
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 25
- },
- "end": {
- "line": 11,
- "column": 26
- }
- }
- },
- {
- "type": "Keyword",
- "value": "new",
- "range": [
- 245,
- 248
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 4
- },
- "end": {
- "line": 12,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 249,
- 250
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 8
- },
- "end": {
- "line": 12,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 250,
- 251
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 9
- },
- "end": {
- "line": 12,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 251,
- 252
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 10
- },
- "end": {
- "line": 12,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 253,
- 254
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 12
- },
- "end": {
- "line": 12,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 254,
- 255
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 13
- },
- "end": {
- "line": 12,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 255,
- 256
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 14
- },
- "end": {
- "line": 12,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 256,
- 257
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 15
- },
- "end": {
- "line": 12,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 258,
- 264
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 17
- },
- "end": {
- "line": 12,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 264,
- 265
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 23
- },
- "end": {
- "line": 12,
- "column": 24
- }
- }
- },
- {
- "type": "Keyword",
- "value": "new",
- "range": [
- 270,
- 273
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 4
- },
- "end": {
- "line": 13,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 274,
- 275
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 8
- },
- "end": {
- "line": 13,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "F",
- "range": [
- 275,
- 276
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 9
- },
- "end": {
- "line": 13,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 276,
- 277
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 10
- },
- "end": {
- "line": 13,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 277,
- 278
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 11
- },
- "end": {
- "line": 13,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 278,
- 279
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 12
- },
- "end": {
- "line": 13,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 279,
- 280
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 13
- },
- "end": {
- "line": 13,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 281,
- 282
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 15
- },
- "end": {
- "line": 13,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 282,
- 283
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 16
- },
- "end": {
- "line": 13,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 283,
- 284
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 17
- },
- "end": {
- "line": 13,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 284,
- 285
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 18
- },
- "end": {
- "line": 13,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 286,
- 292
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 20
- },
- "end": {
- "line": 13,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 292,
- 293
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 26
- },
- "end": {
- "line": 13,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 294,
- 295
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 0
- },
- "end": {
- "line": 14,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-with-construct-signature-with-parameter-accessibility.result.js b/tests/fixtures/typescript/basics/interface-with-construct-signature-with-parameter-accessibility.result.js
deleted file mode 100644
index 4fb6325..0000000
--- a/tests/fixtures/typescript/basics/interface-with-construct-signature-with-parameter-accessibility.result.js
+++ /dev/null
@@ -1,410 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [
- {
- "type": "TSConstructSignature",
- "range": [
- 21,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 30
- }
- },
- "params": [
- {
- "type": "TSParameterProperty",
- "range": [
- 26,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "accessibility": "public",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "x"
- }
- },
- {
- "type": "TSParameterProperty",
- "range": [
- 36,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 28
- }
- },
- "accessibility": "private",
- "readonly": false,
- "static": false,
- "export": false,
- "parameter": {
- "type": "Identifier",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- },
- "name": "y"
- }
- }
- ],
- "typeAnnotation": null
- }
- ],
- "range": [
- 15,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": "Test"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Test",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Keyword",
- "value": "new",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 26,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 36,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "y",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-with-extends-type-parameters.result.js b/tests/fixtures/typescript/basics/interface-with-extends-type-parameters.result.js
deleted file mode 100644
index 6f09883..0000000
--- a/tests/fixtures/typescript/basics/interface-with-extends-type-parameters.result.js
+++ /dev/null
@@ -1,422 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 13,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 32,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Foo"
- },
- "heritage": [
- {
- "type": "TSInterfaceHeritage",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "range": [
- 25,
- 28
- ],
- "id": {
- "type": "Identifier",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "name": "Bar"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 28,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "name": "J"
- },
- "typeParameters": null
- }
- ]
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 17,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "J",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-with-generic.result.js b/tests/fixtures/typescript/basics/interface-with-generic.result.js
deleted file mode 100644
index ab72816..0000000
--- a/tests/fixtures/typescript/basics/interface-with-generic.result.js
+++ /dev/null
@@ -1,241 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": "Test"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Test",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-with-jsdoc.result.js b/tests/fixtures/typescript/basics/interface-with-jsdoc.result.js
deleted file mode 100644
index 140dbae..0000000
--- a/tests/fixtures/typescript/basics/interface-with-jsdoc.result.js
+++ /dev/null
@@ -1,680 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 87
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 87
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [
- {
- "type": "TSMethodSignature",
- "range": [
- 76,
- 85
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 13
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 76,
- 79
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- },
- "name": "foo"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 80,
- 83
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 11
- }
- },
- "name": "bar"
- }
- ],
- "typeAnnotation": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ],
- "range": [
- 15,
- 87
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 7,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": "Test"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Test",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 76,
- 22
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 30,
- 25
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 0
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 30,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 32,
- 32
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Comment",
- "range": [
- 32,
- 39
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 40,
- 40
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Line",
- "range": [
- 40,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 45,
- 45
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "1",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 52,
- 47
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 0
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 52,
- 52
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 6
- }
- }
- },
- {
- "type": "Identifier",
- "value": "",
- "range": [
- 54,
- 54
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 54,
- 55
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 55,
- 58
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 59,
- 62
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "*",
- "range": [
- 69,
- 70
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 5
- },
- "end": {
- "line": 5,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "/",
- "range": [
- 70,
- 71
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 6
- },
- "end": {
- "line": 5,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 76,
- 79
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 79,
- 80
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 7
- },
- "end": {
- "line": 6,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 80,
- 83
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 11
- },
- "end": {
- "line": 6,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 84,
- 85
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 12
- },
- "end": {
- "line": 6,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 86,
- 87
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-with-optional-properties.result.js b/tests/fixtures/typescript/basics/interface-with-optional-properties.result.js
deleted file mode 100644
index 5af78ee..0000000
--- a/tests/fixtures/typescript/basics/interface-with-optional-properties.result.js
+++ /dev/null
@@ -1,799 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 81
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 81
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [
- {
- "type": "TSPropertySignature",
- "range": [
- 21,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "optional": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "typeAnnotation": null,
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 31,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 17
- }
- },
- "optional": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 31,
- 34
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "name": "bar"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "range": [
- 37,
- 43
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 37,
- 43
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 49,
- 79
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 34
- }
- },
- "optional": true,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 49,
- 52
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 7
- }
- },
- "name": "baz"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 54,
- 57
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 12
- }
- },
- "name": "foo"
- },
- {
- "type": "Identifier",
- "range": [
- 59,
- 62
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 17
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 20
- },
- "end": {
- "line": 4,
- "column": 26
- }
- },
- "range": [
- 65,
- 71
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 65,
- 71
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 20
- },
- "end": {
- "line": 4,
- "column": 26
- }
- }
- }
- },
- "optional": true
- },
- {
- "type": "Identifier",
- "range": [
- 73,
- 76
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "name": "baz",
- "optional": true
- }
- ],
- "typeAnnotation": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ],
- "range": [
- 15,
- 81
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": "test"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "test",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 31,
- 34
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 37,
- 43
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 49,
- 52
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 54,
- 57
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 59,
- 62
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 63,
- 64
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 65,
- 71
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 20
- },
- "end": {
- "line": 4,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 71,
- 72
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 26
- },
- "end": {
- "line": 4,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 73,
- 76
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 76,
- 77
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 31
- },
- "end": {
- "line": 4,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 77,
- 78
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 32
- },
- "end": {
- "line": 4,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 78,
- 79
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 33
- },
- "end": {
- "line": 4,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 80,
- 81
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/interface-without-type-annotation.result.js b/tests/fixtures/typescript/basics/interface-without-type-annotation.result.js
deleted file mode 100644
index e307ccc..0000000
--- a/tests/fixtures/typescript/basics/interface-without-type-annotation.result.js
+++ /dev/null
@@ -1,229 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [
- {
- "type": "TSPropertySignature",
- "range": [
- 21,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "foo"
- },
- "typeAnnotation": null,
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ],
- "range": [
- 15,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": "test"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "test",
- "range": [
- 10,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/nested-type-arguments.result.js b/tests/fixtures/typescript/basics/nested-type-arguments.result.js
deleted file mode 100644
index 8d9cd85..0000000
--- a/tests/fixtures/typescript/basics/nested-type-arguments.result.js
+++ /dev/null
@@ -1,526 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 4,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 4,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "nestedArray",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 17,
- 44
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 17,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 17,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "Array"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 22,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 23,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 23,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "name": "Array"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 28,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 43
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 29,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 29,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 34
- }
- },
- "name": "Array"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 34,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 35,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "id": {
- "type": "TSStringKeyword",
- "range": [
- 35,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- },
- "typeParameters": null
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- },
- "init": null
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "nestedArray",
- "range": [
- 4,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Array",
- "range": [
- 17,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Array",
- "range": [
- 23,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Array",
- "range": [
- 29,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 35,
- 41
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 43
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 43
- },
- "end": {
- "line": 1,
- "column": 44
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/non-null-assertion-operator.result.js b/tests/fixtures/typescript/basics/non-null-assertion-operator.result.js
deleted file mode 100644
index 1655edd..0000000
--- a/tests/fixtures/typescript/basics/non-null-assertion-operator.result.js
+++ /dev/null
@@ -1,764 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 82
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 82
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 22
- }
- },
- "name": "processEntity"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "e",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "range": [
- 27,
- 33
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 27,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 27,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 33
- }
- },
- "name": "Entity"
- }
- }
- },
- "optional": true
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 35,
- 82
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 41,
- 59
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 41,
- 58
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 41,
- 55
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "name": "validateEntity"
- },
- "arguments": [
- {
- "type": "Identifier",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "name": "e"
- }
- ]
- }
- },
- {
- "type": "VariableDeclaration",
- "range": [
- 64,
- 80
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 20
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 68,
- 79
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 68,
- 69
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- },
- "name": "s"
- },
- "init": {
- "type": "MemberExpression",
- "range": [
- 72,
- 79
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "object": {
- "type": "TSNonNullExpression",
- "range": [
- 72,
- 74
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 72,
- 73
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- },
- "name": "e"
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 75,
- 79
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "name": "name"
- },
- "computed": false
- }
- }
- ],
- "kind": "let"
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "processEntity",
- "range": [
- 9,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Identifier",
- "value": "e",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "?",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Entity",
- "range": [
- 27,
- 33
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Identifier",
- "value": "validateEntity",
- "range": [
- 41,
- 55
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "e",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "let",
- "range": [
- 64,
- 67
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "s",
- "range": [
- 68,
- 69
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 70,
- 71
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "e",
- "range": [
- 72,
- 73
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "!",
- "range": [
- 73,
- 74
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 74,
- 75
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 75,
- 79
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 79,
- 80
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 81,
- 82
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/type-alias-declaration-with-constrained-type-parameter.result.js b/tests/fixtures/typescript/basics/type-alias-declaration-with-constrained-type-parameter.result.js
deleted file mode 100644
index 062b16c..0000000
--- a/tests/fixtures/typescript/basics/type-alias-declaration-with-constrained-type-parameter.result.js
+++ /dev/null
@@ -1,563 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "kind": "type",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "range": [
- 5,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "Result"
- },
- "init": {
- "type": "TSUnionType",
- "range": [
- 28,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "types": [
- {
- "type": "TSTypeReference",
- "range": [
- 28,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 28,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "name": "Success"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 35,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "name": "T"
- },
- "typeParameters": null
- }
- ]
- }
- },
- {
- "type": "TSTypeReference",
- "range": [
- 41,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 41,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "name": "Failure"
- }
- }
- ]
- },
- "range": [
- 5,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 11,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 12,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "T",
- "constraint": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 22,
- 24
- ],
- "typeAnnotation": {
- "type": "TSTypeLiteral",
- "range": [
- 22,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "members": []
- }
- }
- }
- ]
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "type",
- "range": [
- 0,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Result",
- "range": [
- 5,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Success",
- "range": [
- 28,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 35
- },
- "end": {
- "line": 1,
- "column": 36
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "|",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Failure",
- "range": [
- 41,
- 48
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 41
- },
- "end": {
- "line": 1,
- "column": 48
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/type-alias-declaration.result.js b/tests/fixtures/typescript/basics/type-alias-declaration.result.js
deleted file mode 100644
index 5389122..0000000
--- a/tests/fixtures/typescript/basics/type-alias-declaration.result.js
+++ /dev/null
@@ -1,475 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "kind": "type",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "range": [
- 5,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "Result"
- },
- "init": {
- "type": "TSUnionType",
- "range": [
- 17,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "types": [
- {
- "type": "TSTypeReference",
- "range": [
- 17,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 17,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "name": "Success"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 24,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 27
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "name": "T"
- },
- "typeParameters": null
- }
- ]
- }
- },
- {
- "type": "TSTypeReference",
- "range": [
- 30,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 30,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "name": "Failure"
- }
- }
- ]
- },
- "range": [
- 5,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 37
- }
- },
- "typeParameters": {
- "type": "TypeParameterDeclaration",
- "range": [
- 11,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "params": [
- {
- "type": "TypeParameter",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "T",
- "constraint": null
- }
- ]
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "type",
- "range": [
- 0,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Result",
- "range": [
- 5,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Success",
- "range": [
- 17,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "T",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "|",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Failure",
- "range": [
- 30,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 37
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/type-alias-object-without-annotation.result.js b/tests/fixtures/typescript/basics/type-alias-object-without-annotation.result.js
deleted file mode 100644
index 986ef45..0000000
--- a/tests/fixtures/typescript/basics/type-alias-object-without-annotation.result.js
+++ /dev/null
@@ -1,413 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "kind": "type",
- "declarations": [
- {
- "type": "VariableDeclarator",
- "id": {
- "type": "Identifier",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "name": "foo"
- },
- "init": {
- "type": "TSTypeLiteral",
- "range": [
- 11,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "members": [
- {
- "type": "TSPropertySignature",
- "range": [
- 12,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 12,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "bar"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 17,
- 23
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 17,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "name": "baz"
- },
- "typeAnnotation": null,
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ]
- },
- "range": [
- 5,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "type",
- "range": [
- 0,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 12,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 17,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 23
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/type-guard.result.js b/tests/fixtures/typescript/basics/type-guard.result.js
deleted file mode 100644
index 9f70665..0000000
--- a/tests/fixtures/typescript/basics/type-guard.result.js
+++ /dev/null
@@ -1,634 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 75
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "FunctionDeclaration",
- "range": [
- 0,
- 75
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 9,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "isString"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "name": "x",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 21,
- 24
- ],
- "typeAnnotation": {
- "type": "TSAnyKeyword",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- }
- }
- }
- ],
- "body": {
- "type": "BlockStatement",
- "range": [
- 39,
- 75
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 45,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "argument": {
- "type": "BinaryExpression",
- "range": [
- 52,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "operator": "===",
- "left": {
- "type": "UnaryExpression",
- "range": [
- 52,
- 60
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "operator": "typeof",
- "prefix": true,
- "argument": {
- "type": "Identifier",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "name": "x"
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 65,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "value": "string",
- "raw": "'string'"
- }
- }
- }
- ]
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 27,
- 38
- ],
- "typeAnnotation": {
- "type": "TSTypePredicate",
- "range": [
- 27,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "parameterName": {
- "type": "Identifier",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "name": "x"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 32,
- 38
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 32,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- }
- }
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "isString",
- "range": [
- 9,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "any",
- "range": [
- 21,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 1,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "is",
- "range": [
- 29,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 32,
- 38
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 39
- },
- "end": {
- "line": 1,
- "column": 40
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 45,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Keyword",
- "value": "typeof",
- "range": [
- 52,
- 58
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "===",
- "range": [
- 61,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "String",
- "value": "'string'",
- "range": [
- 65,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 74,
- 75
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/typed-this.result.js b/tests/fixtures/typescript/basics/typed-this.result.js
deleted file mode 100644
index 2b8a61b..0000000
--- a/tests/fixtures/typescript/basics/typed-this.result.js
+++ /dev/null
@@ -1,780 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 89
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 89
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [
- {
- "type": "TSMethodSignature",
- "range": [
- 23,
- 87
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 65
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 23,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "addClickListener"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 40,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "name": "onclick",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 57
- }
- },
- "range": [
- 49,
- 79
- ],
- "typeAnnotation": {
- "type": "TSFunctionType",
- "range": [
- 49,
- 79
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 57
- }
- },
- "typeParameters": null,
- "parameters": [
- {
- "type": "Identifier",
- "range": [
- 50,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "name": "this",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "range": [
- 56,
- 60
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 56,
- 60
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 38
- }
- }
- }
- }
- },
- {
- "type": "Identifier",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 40
- },
- "end": {
- "line": 2,
- "column": 41
- }
- },
- "name": "e",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 43
- },
- "end": {
- "line": 2,
- "column": 48
- }
- },
- "range": [
- 65,
- 70
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 65,
- 70
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 43
- },
- "end": {
- "line": 2,
- "column": 48
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 65,
- 70
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 43
- },
- "end": {
- "line": 2,
- "column": 48
- }
- },
- "name": "Event"
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 53
- },
- "end": {
- "line": 2,
- "column": 57
- }
- },
- "range": [
- 75,
- 79
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 75,
- 79
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 53
- },
- "end": {
- "line": 2,
- "column": 57
- }
- }
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 60
- },
- "end": {
- "line": 2,
- "column": 64
- }
- },
- "range": [
- 82,
- 86
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 82,
- 86
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 60
- },
- "end": {
- "line": 2,
- "column": 64
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- }
- ],
- "range": [
- 20,
- 89
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "name": "UIElement"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "UIElement",
- "range": [
- 10,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "addClickListener",
- "range": [
- 23,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 1
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "onclick",
- "range": [
- 40,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 50,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 54,
- 55
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 56,
- 60
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 60,
- 61
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 38
- },
- "end": {
- "line": 2,
- "column": 39
- }
- }
- },
- {
- "type": "Identifier",
- "value": "e",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 40
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 63,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 41
- },
- "end": {
- "line": 2,
- "column": 42
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Event",
- "range": [
- 65,
- 70
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 43
- },
- "end": {
- "line": 2,
- "column": 48
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 70,
- 71
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 48
- },
- "end": {
- "line": 2,
- "column": 49
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=>",
- "range": [
- 72,
- 74
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 50
- },
- "end": {
- "line": 2,
- "column": 52
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 75,
- 79
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 53
- },
- "end": {
- "line": 2,
- "column": 57
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 79,
- 80
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 57
- },
- "end": {
- "line": 2,
- "column": 58
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 80,
- 81
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 58
- },
- "end": {
- "line": 2,
- "column": 59
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 82,
- 86
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 60
- },
- "end": {
- "line": 2,
- "column": 64
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 86,
- 87
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 64
- },
- "end": {
- "line": 2,
- "column": 65
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 88,
- 89
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/var-with-dotted-type.result.js b/tests/fixtures/typescript/basics/var-with-dotted-type.result.js
deleted file mode 100644
index 64bb25a..0000000
--- a/tests/fixtures/typescript/basics/var-with-dotted-type.result.js
+++ /dev/null
@@ -1,362 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 4,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "foo",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 9,
- 14
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "typeName": {
- "type": "TSQualifiedName",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "left": {
- "type": "TSQualifiedName",
- "range": [
- 9,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "left": {
- "type": "Identifier",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "A"
- },
- "right": {
- "type": "Identifier",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "name": "B"
- }
- },
- "right": {
- "type": "Identifier",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "name": "C"
- }
- }
- }
- }
- },
- "init": null
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 4,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 9,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "B",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/basics/var-with-type.result.js b/tests/fixtures/typescript/basics/var-with-type.result.js
deleted file mode 100644
index 5c3b66e..0000000
--- a/tests/fixtures/typescript/basics/var-with-type.result.js
+++ /dev/null
@@ -1,256 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 4,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 4,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "name": "name",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 9,
- 15
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- }
- }
- },
- "init": {
- "type": "Literal",
- "range": [
- 18,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 28
- }
- },
- "value": "Nicholas",
- "raw": "\"Nicholas\""
- }
- }
- ],
- "kind": "var"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "var",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 4,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 9,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "String",
- "value": "\"Nicholas\"",
- "range": [
- 18,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-factory-instance-member.result.js b/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-factory-instance-member.result.js
deleted file mode 100644
index 6451437..0000000
--- a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-factory-instance-member.result.js
+++ /dev/null
@@ -1,664 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 72
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 72
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "Point"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 18,
- 70
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 31
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- },
- "name": "x"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 51,
- 70
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 31
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 53,
- 68
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 29
- }
- },
- "argument": {
- "type": "MemberExpression",
- "range": [
- 60,
- 67
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "object": {
- "type": "ThisExpression",
- "range": [
- 60,
- 64
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 65,
- 67
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "name": "_x"
- },
- "computed": false
- }
- }
- ]
- },
- "range": [
- 48,
- 70
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 31
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "get",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 18,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 19,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 19,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "configurable"
- },
- "arguments": [
- {
- "type": "Literal",
- "range": [
- 32,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "value": false,
- "raw": "false"
- }
- ]
- }
- }
- ]
- }
- ],
- "range": [
- 12,
- 72
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Point",
- "range": [
- 6,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "configurable",
- "range": [
- 19,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Boolean",
- "value": "false",
- "range": [
- 32,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Identifier",
- "value": "get",
- "range": [
- 43,
- 46
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 53,
- 59
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 60,
- 64
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "_x",
- "range": [
- 65,
- 67
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 67,
- 68
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 69,
- 70
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 71,
- 72
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-factory-static-member.result.js b/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-factory-static-member.result.js
deleted file mode 100644
index f70c444..0000000
--- a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-factory-static-member.result.js
+++ /dev/null
@@ -1,812 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 82
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 82
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "Other"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 18,
- 80
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 42
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 53,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 59,
- 80
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 42
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 61,
- 78
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 40
- }
- },
- "argument": {
- "type": "MemberExpression",
- "range": [
- 68,
- 77
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 39
- }
- },
- "object": {
- "type": "ThisExpression",
- "range": [
- 68,
- 72
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 34
- }
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 73,
- 77
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 35
- },
- "end": {
- "line": 3,
- "column": 39
- }
- },
- "name": "_bar"
- },
- "computed": false
- }
- }
- ]
- },
- "range": [
- 56,
- 80
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 42
- }
- },
- "params": []
- },
- "computed": false,
- "static": true,
- "kind": "get",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 18,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 19,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "foo"
- },
- "arguments": [
- {
- "type": "ObjectExpression",
- "range": [
- 23,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 25,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "name": "baz"
- },
- "value": {
- "type": "Literal",
- "range": [
- 30,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "value": true,
- "raw": "true"
- },
- "computed": false,
- "method": false,
- "shorthand": false,
- "kind": "init"
- }
- ]
- }
- ]
- }
- }
- ]
- }
- ],
- "range": [
- 12,
- 82
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Other",
- "range": [
- 6,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 19,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 25,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Boolean",
- "value": "true",
- "range": [
- 30,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 42,
- 48
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "get",
- "range": [
- 49,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 53,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 61,
- 67
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 29
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 68,
- 72
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 72,
- 73
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 34
- },
- "end": {
- "line": 3,
- "column": 35
- }
- }
- },
- {
- "type": "Identifier",
- "value": "_bar",
- "range": [
- 73,
- 77
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 35
- },
- "end": {
- "line": 3,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 77,
- 78
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 39
- },
- "end": {
- "line": 3,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 79,
- 80
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 41
- },
- "end": {
- "line": 3,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 81,
- 82
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-instance-member.result.js b/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-instance-member.result.js
deleted file mode 100644
index 2ef1aef..0000000
--- a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-instance-member.result.js
+++ /dev/null
@@ -1,572 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 55
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 55
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "P"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 31
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- },
- "name": "z"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 34,
- 53
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 31
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 36,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 29
- }
- },
- "argument": {
- "type": "MemberExpression",
- "range": [
- 43,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "object": {
- "type": "ThisExpression",
- "range": [
- 43,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 48,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "name": "_z"
- },
- "computed": false
- }
- }
- ]
- },
- "range": [
- 31,
- 53
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 31
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "get",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 15,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "name": "hidden"
- }
- }
- ]
- }
- ],
- "range": [
- 8,
- 55
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "P",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "hidden",
- "range": [
- 15,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "get",
- "range": [
- 26,
- 29
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "z",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 36,
- 42
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 43,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "_z",
- "range": [
- 48,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 54,
- 55
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-static-member.result.js b/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-static-member.result.js
deleted file mode 100644
index 3dc323f..0000000
--- a/tests/fixtures/typescript/decorators/accessor-decorators/accessor-decorator-static-member.result.js
+++ /dev/null
@@ -1,682 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 78
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 78
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "User"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 17,
- 76
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 16
- }
- },
- "name": "y"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 48,
- 76
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 58,
- 70
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 20
- }
- },
- "expression": {
- "type": "AssignmentExpression",
- "range": [
- 58,
- 69
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 19
- }
- },
- "operator": "=",
- "left": {
- "type": "MemberExpression",
- "range": [
- 58,
- 65
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 15
- }
- },
- "object": {
- "type": "ThisExpression",
- "range": [
- 58,
- 62
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 12
- }
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 63,
- 65
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 15
- }
- },
- "name": "_y"
- },
- "computed": false
- },
- "right": {
- "type": "Identifier",
- "range": [
- 68,
- 69
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 19
- }
- },
- "name": "a"
- }
- }
- }
- ]
- },
- "range": [
- 44,
- 76
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 5
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 17
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "name": "a",
- "decorators": []
- }
- ]
- },
- "computed": false,
- "static": true,
- "kind": "set",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 17,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 18,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "name": "adminonly"
- }
- }
- ]
- }
- ],
- "range": [
- 11,
- 78
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "User",
- "range": [
- 6,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "adminonly",
- "range": [
- 18,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 32,
- 38
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "set",
- "range": [
- 39,
- 42
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "y",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 44,
- 45
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 17
- },
- "end": {
- "line": 3,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 21
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 58,
- 62
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "_y",
- "range": [
- 63,
- 65
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 66,
- 67
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 16
- },
- "end": {
- "line": 4,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 68,
- 69
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 69,
- 70
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 75,
- 76
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 77,
- 78
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/class-decorators/class-decorator-factory.result.js b/tests/fixtures/typescript/decorators/class-decorators/class-decorator-factory.result.js
deleted file mode 100644
index d1c7b20..0000000
--- a/tests/fixtures/typescript/decorators/class-decorators/class-decorator-factory.result.js
+++ /dev/null
@@ -1,462 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 58
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 21
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 58
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 21
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 43,
- 55
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 6
- },
- "end": {
- "line": 4,
- "column": 18
- }
- },
- "name": "FooComponent"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 56,
- 58
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 21
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 0,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 1,
- 36
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 1,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "name": "Component"
- },
- "arguments": [
- {
- "type": "ObjectExpression",
- "range": [
- 11,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "properties": [
- {
- "type": "Property",
- "range": [
- 17,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 17,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "name": "selector"
- },
- "value": {
- "type": "Literal",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "value": "foo",
- "raw": "'foo'"
- },
- "computed": false,
- "method": false,
- "shorthand": false,
- "kind": "init"
- }
- ]
- }
- ]
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Component",
- "range": [
- 1,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 11,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "selector",
- "range": [
- 17,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "String",
- "value": "'foo'",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ",",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 34,
- 35
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 1
- },
- "end": {
- "line": 3,
- "column": 2
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 37,
- 42
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "FooComponent",
- "range": [
- 43,
- 55
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 6
- },
- "end": {
- "line": 4,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 57,
- 58
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 20
- },
- "end": {
- "line": 4,
- "column": 21
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/class-decorators/class-decorator.result.js b/tests/fixtures/typescript/decorators/class-decorators/class-decorator.result.js
deleted file mode 100644
index ae8c6fd..0000000
--- a/tests/fixtures/typescript/decorators/class-decorators/class-decorator.result.js
+++ /dev/null
@@ -1,222 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "name": "Qux"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 18,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 1,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "sealed"
- }
- }
- ]
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "Identifier",
- "value": "sealed",
- "range": [
- 1,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 8,
- 13
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Qux",
- "range": [
- 14,
- 17
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-factory-instance-member.result.js b/tests/fixtures/typescript/decorators/method-decorators/method-decorator-factory-instance-member.result.js
deleted file mode 100644
index 4edc70c..0000000
--- a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-factory-instance-member.result.js
+++ /dev/null
@@ -1,485 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "B"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 35,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "name": "instanceMethod"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 52,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "body": []
- },
- "range": [
- 49,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 15,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 20
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 15,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "name": "onlyRead"
- },
- "arguments": [
- {
- "type": "Literal",
- "range": [
- 24,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "value": false,
- "raw": "false"
- }
- ]
- }
- }
- ]
- }
- ],
- "range": [
- 8,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "B",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "onlyRead",
- "range": [
- 15,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Boolean",
- "value": "false",
- "range": [
- 24,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "instanceMethod",
- "range": [
- 35,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-factory-static-member.result.js b/tests/fixtures/typescript/decorators/method-decorators/method-decorator-factory-static-member.result.js
deleted file mode 100644
index 12b5e69..0000000
--- a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-factory-static-member.result.js
+++ /dev/null
@@ -1,503 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "C"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 37,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "name": "staticMethod"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 52,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "body": []
- },
- "range": [
- 49,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "params": []
- },
- "computed": false,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 15,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "Foo"
- },
- "arguments": [
- {
- "type": "Literal",
- "range": [
- 19,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "value": false,
- "raw": "false"
- }
- ]
- }
- }
- ]
- }
- ],
- "range": [
- 8,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Boolean",
- "value": "false",
- "range": [
- 19,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 24,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 30,
- 36
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "staticMethod",
- "range": [
- 37,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 27
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-instance-member.result.js b/tests/fixtures/typescript/decorators/method-decorators/method-decorator-instance-member.result.js
deleted file mode 100644
index ae988b2..0000000
--- a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-instance-member.result.js
+++ /dev/null
@@ -1,393 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 28,
- 42
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "name": "instanceMethod"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 45,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "body": []
- },
- "range": [
- 42,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 15,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "name": "onlyRead"
- }
- }
- ]
- }
- ],
- "range": [
- 8,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "onlyRead",
- "range": [
- 15,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "instanceMethod",
- "range": [
- 28,
- 42
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-static-member.result.js b/tests/fixtures/typescript/decorators/method-decorators/method-decorator-static-member.result.js
deleted file mode 100644
index 1910238..0000000
--- a/tests/fixtures/typescript/decorators/method-decorators/method-decorator-static-member.result.js
+++ /dev/null
@@ -1,411 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "D"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 14,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 30,
- 42
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "name": "staticMethod"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 45,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "body": []
- },
- "range": [
- 42,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 28
- }
- },
- "params": []
- },
- "computed": false,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "Foo"
- }
- }
- ]
- }
- ],
- "range": [
- 8,
- 49
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "D",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 23,
- 29
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "staticMethod",
- "range": [
- 30,
- 42
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 23
- },
- "end": {
- "line": 3,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 43,
- 44
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 27
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-constructor.result.js b/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-constructor.result.js
deleted file mode 100644
index b3d7dbc..0000000
--- a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-constructor.result.js
+++ /dev/null
@@ -1,896 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 115
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 115
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Service"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 20,
- 113
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "name": "constructor",
- "range": [
- 20,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 52,
- 58
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 42
- }
- },
- "name": "config",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 53
- }
- },
- "range": [
- 60,
- 69
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 60,
- 69
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 53
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 60,
- 69
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 53
- }
- },
- "name": "AppConfig"
- }
- }
- },
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 32,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 35
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 33,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 35
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 33,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "name": "Inject"
- },
- "arguments": [
- {
- "type": "Identifier",
- "range": [
- 40,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 34
- }
- },
- "name": "APP_CONFIG"
- }
- ]
- }
- }
- ]
- }
- ],
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 71,
- 113
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 55
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 81,
- 107
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 34
- }
- },
- "expression": {
- "type": "AssignmentExpression",
- "range": [
- 81,
- 106
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 33
- }
- },
- "operator": "=",
- "left": {
- "type": "MemberExpression",
- "range": [
- 81,
- 91
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "object": {
- "type": "ThisExpression",
- "range": [
- 81,
- 85
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 12
- }
- }
- },
- "property": {
- "type": "Identifier",
- "range": [
- 86,
- 91
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 18
- }
- },
- "name": "title"
- },
- "computed": false
- },
- "right": {
- "type": "MemberExpression",
- "range": [
- 94,
- 106
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 33
- }
- },
- "object": {
- "type": "Identifier",
- "range": [
- 94,
- 100
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 27
- }
- },
- "name": "config"
- },
- "property": {
- "type": "Identifier",
- "range": [
- 101,
- 106
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 33
- }
- },
- "name": "title"
- },
- "computed": false
- }
- }
- }
- ]
- },
- "range": [
- 31,
- 113
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- "computed": false,
- "accessibility": null,
- "static": false,
- "kind": "constructor"
- }
- ],
- "range": [
- 14,
- 115
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Service",
- "range": [
- 6,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "constructor",
- "range": [
- 20,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Inject",
- "range": [
- 33,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Identifier",
- "value": "APP_CONFIG",
- "range": [
- 40,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Identifier",
- "value": "config",
- "range": [
- 52,
- 58
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 42
- },
- "end": {
- "line": 2,
- "column": 43
- }
- }
- },
- {
- "type": "Identifier",
- "value": "AppConfig",
- "range": [
- 60,
- 69
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 53
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 69,
- 70
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 53
- },
- "end": {
- "line": 2,
- "column": 54
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 71,
- 72
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 55
- },
- "end": {
- "line": 2,
- "column": 56
- }
- }
- },
- {
- "type": "Keyword",
- "value": "this",
- "range": [
- 81,
- 85
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 85,
- 86
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "title",
- "range": [
- 86,
- 91
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 92,
- 93
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 19
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "config",
- "range": [
- 94,
- 100
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ".",
- "range": [
- 100,
- 101
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 27
- },
- "end": {
- "line": 3,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "title",
- "range": [
- 101,
- 106
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 3,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 106,
- 107
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 112,
- 113
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 114,
- 115
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-decorator-instance-member.result.js b/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-decorator-instance-member.result.js
deleted file mode 100644
index 63803ab..0000000
--- a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-decorator-instance-member.result.js
+++ /dev/null
@@ -1,593 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 16,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 16,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 48,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "body": []
- },
- "range": [
- 19,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 38
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 35,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 26
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 34
- }
- },
- "range": [
- 40,
- 46
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 40,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- }
- },
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 20,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 21,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 21,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "name": "special"
- },
- "arguments": [
- {
- "type": "Literal",
- "range": [
- 29,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "value": true,
- "raw": "true"
- }
- ]
- }
- }
- ]
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 10,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 16,
- 19
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 8
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "special",
- "range": [
- 21,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 28,
- 29
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Boolean",
- "value": "true",
- "range": [
- 29,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 35,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 40,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 37
- },
- "end": {
- "line": 2,
- "column": 38
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-decorator-static-member.result.js b/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-decorator-static-member.result.js
deleted file mode 100644
index dcb0c6d..0000000
--- a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-decorator-static-member.result.js
+++ /dev/null
@@ -1,611 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "StaticFoo"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 22,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 29,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "name": "bar"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 61,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 43
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "body": []
- },
- "range": [
- 32,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 45
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 48,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 30
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- },
- "range": [
- 53,
- 59
- ],
- "typeAnnotation": {
- "type": "TSNumberKeyword",
- "range": [
- 53,
- 59
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- }
- },
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 33,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 29
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 34,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 29
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 34,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "name": "special"
- },
- "arguments": [
- {
- "type": "Literal",
- "range": [
- 42,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 28
- }
- },
- "value": true,
- "raw": "true"
- }
- ]
- }
- }
- ]
- }
- ]
- },
- "computed": false,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 16,
- 65
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "StaticFoo",
- "range": [
- 6,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 22,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 29,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "special",
- "range": [
- 34,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 41,
- 42
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 23
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Boolean",
- "value": "true",
- "range": [
- 42,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 28
- },
- "end": {
- "line": 2,
- "column": 29
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 48,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 30
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 53,
- 59
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 41
- },
- "end": {
- "line": 2,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 61,
- 62
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 43
- },
- "end": {
- "line": 2,
- "column": 44
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 45
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-instance-member.result.js b/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-instance-member.result.js
deleted file mode 100644
index 12a897c..0000000
--- a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-instance-member.result.js
+++ /dev/null
@@ -1,737 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 97
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 97
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Greeter"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 20,
- 95
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 20,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- },
- "name": "greet"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 50,
- 95
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 60,
- 89
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 37
- }
- },
- "argument": {
- "type": "BinaryExpression",
- "range": [
- 67,
- 88
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 36
- }
- },
- "operator": "+",
- "left": {
- "type": "BinaryExpression",
- "range": [
- 67,
- 82
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 30
- }
- },
- "operator": "+",
- "left": {
- "type": "Literal",
- "range": [
- 67,
- 75
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "value": "Hello ",
- "raw": "\"Hello \""
- },
- "right": {
- "type": "Identifier",
- "range": [
- 78,
- 82
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 30
- }
- },
- "name": "name"
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 85,
- 88
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 36
- }
- },
- "value": "!",
- "raw": "\"!\""
- }
- }
- }
- ]
- },
- "range": [
- 25,
- 95
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 36,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "name": "name",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- },
- "range": [
- 42,
- 48
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 42,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- }
- },
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 26,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 27,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 19
- }
- },
- "name": "required"
- }
- }
- ]
- }
- ]
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 14,
- 97
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Greeter",
- "range": [
- 6,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "greet",
- "range": [
- 20,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "required",
- "range": [
- 27,
- 35
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 36,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 20
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 42,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 26
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 48,
- 49
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 32
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 34
- },
- "end": {
- "line": 2,
- "column": 35
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 60,
- 66
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "String",
- "value": "\"Hello \"",
- "range": [
- 67,
- 75
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "+",
- "range": [
- 76,
- 77
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 78,
- 82
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "+",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 31
- },
- "end": {
- "line": 3,
- "column": 32
- }
- }
- },
- {
- "type": "String",
- "value": "\"!\"",
- "range": [
- 85,
- 88
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 88,
- 89
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 36
- },
- "end": {
- "line": 3,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 94,
- 95
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 96,
- 97
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-static-member.result.js b/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-static-member.result.js
deleted file mode 100644
index fa9c94f..0000000
--- a/tests/fixtures/typescript/decorators/parameter-decorators/parameter-decorator-static-member.result.js
+++ /dev/null
@@ -1,755 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 110
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 110
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "name": "StaticGreeter"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 26,
- 108
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 33,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 16
- }
- },
- "name": "greet"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 63,
- 108
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 41
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "body": [
- {
- "type": "ReturnStatement",
- "range": [
- 73,
- 102
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 37
- }
- },
- "argument": {
- "type": "BinaryExpression",
- "range": [
- 80,
- 101
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 36
- }
- },
- "operator": "+",
- "left": {
- "type": "BinaryExpression",
- "range": [
- 80,
- 95
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 30
- }
- },
- "operator": "+",
- "left": {
- "type": "Literal",
- "range": [
- 80,
- 88
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 23
- }
- },
- "value": "Hello ",
- "raw": "\"Hello \""
- },
- "right": {
- "type": "Identifier",
- "range": [
- 91,
- 95
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 30
- }
- },
- "name": "name"
- }
- },
- "right": {
- "type": "Literal",
- "range": [
- 98,
- 101
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 36
- }
- },
- "value": "!",
- "raw": "\"!\""
- }
- }
- }
- ]
- },
- "range": [
- 38,
- 108
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 49,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 31
- }
- },
- "name": "name",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 39
- }
- },
- "range": [
- 55,
- 61
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 55,
- 61
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 39
- }
- }
- }
- },
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 39,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 26
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 40,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 26
- }
- },
- "name": "required"
- }
- }
- ]
- }
- ]
- },
- "computed": false,
- "static": true,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 20,
- 110
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "StaticGreeter",
- "range": [
- 6,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 26,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "greet",
- "range": [
- 33,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "required",
- "range": [
- 40,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 49,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 31
- },
- "end": {
- "line": 2,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 55,
- 61
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 39
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 61,
- 62
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 39
- },
- "end": {
- "line": 2,
- "column": 40
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 63,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 41
- },
- "end": {
- "line": 2,
- "column": 42
- }
- }
- },
- {
- "type": "Keyword",
- "value": "return",
- "range": [
- 73,
- 79
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "String",
- "value": "\"Hello \"",
- "range": [
- 80,
- 88
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "+",
- "range": [
- 89,
- 90
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "name",
- "range": [
- 91,
- 95
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 3,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "+",
- "range": [
- 96,
- 97
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 31
- },
- "end": {
- "line": 3,
- "column": 32
- }
- }
- },
- {
- "type": "String",
- "value": "\"!\"",
- "range": [
- 98,
- 101
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 101,
- 102
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 36
- },
- "end": {
- "line": 3,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 107,
- 108
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 109,
- 110
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-factory-instance-member.result.js b/tests/fixtures/typescript/decorators/property-decorators/property-decorator-factory-instance-member.result.js
deleted file mode 100644
index e210bea..0000000
--- a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-factory-instance-member.result.js
+++ /dev/null
@@ -1,684 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 88
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 88
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "name": "SomeComponent"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 26,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 35,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "data"
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 26,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 27,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 12
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "name": "Input"
- },
- "arguments": []
- }
- }
- ],
- "typeAnnotation": null
- },
- {
- "type": "ClassProperty",
- "range": [
- 45,
- 86
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 31
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 59,
- 64
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 9
- }
- },
- "name": "click"
- },
- "value": {
- "type": "NewExpression",
- "range": [
- 67,
- 85
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 30
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 71,
- 83
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 16
- },
- "end": {
- "line": 4,
- "column": 28
- }
- },
- "name": "EventEmitter"
- },
- "arguments": []
- },
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 45,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 13
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 46,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 13
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 46,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "name": "Output"
- },
- "arguments": []
- }
- }
- ],
- "typeAnnotation": null
- }
- ],
- "range": [
- 20,
- 88
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "SomeComponent",
- "range": [
- 6,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Input",
- "range": [
- 27,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "data",
- "range": [
- 35,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 39,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 45,
- 46
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Output",
- "range": [
- 46,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "click",
- "range": [
- 59,
- 64
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 65,
- 66
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 10
- },
- "end": {
- "line": 4,
- "column": 11
- }
- }
- },
- {
- "type": "Keyword",
- "value": "new",
- "range": [
- 67,
- 70
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "EventEmitter",
- "range": [
- 71,
- 83
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 16
- },
- "end": {
- "line": 4,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 84,
- 85
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 29
- },
- "end": {
- "line": 4,
- "column": 30
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 85,
- 86
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 30
- },
- "end": {
- "line": 4,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 87,
- 88
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-factory-static-member.result.js b/tests/fixtures/typescript/decorators/property-decorators/property-decorator-factory-static-member.result.js
deleted file mode 100644
index bb41d9b..0000000
--- a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-factory-static-member.result.js
+++ /dev/null
@@ -1,671 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 93
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 93
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "A"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 14,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 37
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 41,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 31
- },
- "end": {
- "line": 2,
- "column": 36
- }
- },
- "name": "prop1"
- },
- "value": null,
- "computed": false,
- "static": true,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 15,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 23
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 15,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "configurable"
- },
- "arguments": [
- {
- "type": "Literal",
- "range": [
- 28,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "value": true,
- "raw": "true"
- }
- ]
- }
- }
- ],
- "typeAnnotation": null
- },
- {
- "type": "ClassProperty",
- "range": [
- 53,
- 91
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 17
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 85,
- 90
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 11
- },
- "end": {
- "line": 5,
- "column": 16
- }
- },
- "name": "prop2"
- },
- "value": null,
- "computed": false,
- "static": true,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 53,
- 73
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 24
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 54,
- 73
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 24
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 54,
- 66
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 17
- }
- },
- "name": "configurable"
- },
- "arguments": [
- {
- "type": "Literal",
- "range": [
- 67,
- 72
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 23
- }
- },
- "value": false,
- "raw": "false"
- }
- ]
- }
- }
- ],
- "typeAnnotation": null
- }
- ],
- "range": [
- 8,
- 93
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "configurable",
- "range": [
- 15,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Boolean",
- "value": "true",
- "range": [
- 28,
- 32
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 2,
- "column": 23
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 34,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 30
- }
- }
- },
- {
- "type": "Identifier",
- "value": "prop1",
- "range": [
- 41,
- 46
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 31
- },
- "end": {
- "line": 2,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 46,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 36
- },
- "end": {
- "line": 2,
- "column": 37
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "configurable",
- "range": [
- 54,
- 66
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 66,
- 67
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 17
- },
- "end": {
- "line": 4,
- "column": 18
- }
- }
- },
- {
- "type": "Boolean",
- "value": "false",
- "range": [
- 67,
- 72
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 18
- },
- "end": {
- "line": 4,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 72,
- 73
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 23
- },
- "end": {
- "line": 4,
- "column": 24
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 78,
- 84
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "prop2",
- "range": [
- 85,
- 90
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 11
- },
- "end": {
- "line": 5,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 90,
- 91
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 92,
- 93
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-instance-member.result.js b/tests/fixtures/typescript/decorators/property-decorators/property-decorator-instance-member.result.js
deleted file mode 100644
index f4f9f9f..0000000
--- a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-instance-member.result.js
+++ /dev/null
@@ -1,451 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "B"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "name": "x"
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "foo"
- }
- }
- ],
- "typeAnnotation": null
- },
- {
- "type": "ClassProperty",
- "range": [
- 26,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 6
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "name": "y"
- },
- "value": null,
- "computed": false,
- "static": false,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 26,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "name": "bar"
- }
- }
- ],
- "typeAnnotation": null
- }
- ],
- "range": [
- 8,
- 39
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "B",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "x",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 27,
- 30
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "y",
- "range": [
- 35,
- 36
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 38,
- 39
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-static-member.result.js b/tests/fixtures/typescript/decorators/property-decorators/property-decorator-static-member.result.js
deleted file mode 100644
index 8b161b2..0000000
--- a/tests/fixtures/typescript/decorators/property-decorators/property-decorator-static-member.result.js
+++ /dev/null
@@ -1,487 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "C"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "ClassProperty",
- "range": [
- 14,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 18
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "name": "a"
- },
- "value": null,
- "computed": false,
- "static": true,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 14,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "name": "baz"
- }
- }
- ],
- "typeAnnotation": null
- },
- {
- "type": "ClassProperty",
- "range": [
- 33,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 12
- }
- },
- "name": "b"
- },
- "value": null,
- "computed": false,
- "static": true,
- "accessibility": null,
- "readonly": false,
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 33,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "name": "qux"
- }
- }
- ],
- "typeAnnotation": null
- }
- ],
- "range": [
- 8,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 19,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 26,
- 27
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 27,
- 28
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "qux",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 42,
- 48
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 49,
- 50
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/errorRecovery/class-empty-extends-implements.result.js b/tests/fixtures/typescript/errorRecovery/class-empty-extends-implements.result.js
deleted file mode 100644
index 1c3776e..0000000
--- a/tests/fixtures/typescript/errorRecovery/class-empty-extends-implements.result.js
+++ /dev/null
@@ -1,204 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 33,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Keyword",
- "value": "implements",
- "range": [
- 18,
- 28
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 29,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/errorRecovery/class-empty-extends.result.js b/tests/fixtures/typescript/errorRecovery/class-empty-extends.result.js
deleted file mode 100644
index cc88e51..0000000
--- a/tests/fixtures/typescript/errorRecovery/class-empty-extends.result.js
+++ /dev/null
@@ -1,168 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 18,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/errorRecovery/class-extends-empty-implements.result.js b/tests/fixtures/typescript/errorRecovery/class-extends-empty-implements.result.js
deleted file mode 100644
index 2b62549..0000000
--- a/tests/fixtures/typescript/errorRecovery/class-extends-empty-implements.result.js
+++ /dev/null
@@ -1,221 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ClassDeclaration",
- "range": [
- 0,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "name": "Foo"
- },
- "body": {
- "type": "ClassBody",
- "body": [],
- "range": [
- 33,
- 37
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "superClass": {
- "type": "Identifier",
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "name": "Bar"
- },
- "implements": [],
- "decorators": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 6,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 10,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Bar",
- "range": [
- 18,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Keyword",
- "value": "implements",
- "range": [
- 22,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 33,
- 34
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 33
- },
- "end": {
- "line": 1,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 36,
- 37
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/errorRecovery/decorator-on-enum-declaration.result.js b/tests/fixtures/typescript/errorRecovery/decorator-on-enum-declaration.result.js
deleted file mode 100644
index 8db1d4d..0000000
--- a/tests/fixtures/typescript/errorRecovery/decorator-on-enum-declaration.result.js
+++ /dev/null
@@ -1,203 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "body": [
- {
- "type": "TSEnumDeclaration",
- "range": [
- 0,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "decorators": [
- {
- "type": "Decorator",
- "range": [
- 0,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "expression": {
- "type": "Identifier",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "name": "dec"
- }
- }
- ],
- "name": {
- "type": "Identifier",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "name": "E"
- },
- "members": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Punctuator",
- "value": "@",
- "range": [
- 0,
- 1
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 1
- }
- }
- },
- {
- "type": "Identifier",
- "value": "dec",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Keyword",
- "value": "enum",
- "range": [
- 5,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "E",
- "range": [
- 10,
- 11
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 12,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/errorRecovery/interface-empty-extends.result.js b/tests/fixtures/typescript/errorRecovery/interface-empty-extends.result.js
deleted file mode 100644
index 9481511..0000000
--- a/tests/fixtures/typescript/errorRecovery/interface-empty-extends.result.js
+++ /dev/null
@@ -1,167 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [],
- "range": [
- 22,
- 26
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Foo"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Keyword",
- "value": "extends",
- "range": [
- 14,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 25,
- 26
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/errorRecovery/interface-property-modifiers.result.js b/tests/fixtures/typescript/errorRecovery/interface-property-modifiers.result.js
deleted file mode 100644
index 96d6235..0000000
--- a/tests/fixtures/typescript/errorRecovery/interface-property-modifiers.result.js
+++ /dev/null
@@ -1,4816 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 594
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 23,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSInterfaceDeclaration",
- "range": [
- 0,
- 594
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 23,
- "column": 1
- }
- },
- "abstract": false,
- "body": {
- "type": "TSInterfaceBody",
- "body": [
- {
- "type": "TSPropertySignature",
- "range": [
- 20,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- },
- "name": "bar"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- },
- "range": [
- 25,
- 31
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 25,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- }
- },
- "initializer": {
- "type": "Literal",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "value": "a",
- "raw": "'a'"
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 43,
- 60
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 21
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 12
- }
- },
- "name": "a"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 20
- }
- },
- "range": [
- 53,
- 59
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 53,
- 59
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- }
- },
- "initializer": null,
- "accessibility": "public",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 65,
- 83
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 22
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 73,
- 74
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "name": "b"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 4,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 21
- }
- },
- "range": [
- 76,
- 82
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 76,
- 82
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 21
- }
- }
- }
- },
- "initializer": null,
- "accessibility": "private",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 88,
- 108
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 24
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 98,
- 99
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 15
- }
- },
- "name": "c"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 5,
- "column": 23
- }
- },
- "range": [
- 101,
- 107
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 101,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 5,
- "column": 23
- }
- }
- }
- },
- "initializer": null,
- "accessibility": "protected",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 113,
- 130
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 21
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 120,
- 121
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 11
- },
- "end": {
- "line": 6,
- "column": 12
- }
- },
- "name": "d"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 6,
- "column": 14
- },
- "end": {
- "line": 6,
- "column": 20
- }
- },
- "range": [
- 123,
- 129
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 123,
- 129
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 14
- },
- "end": {
- "line": 6,
- "column": 20
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": true,
- "export": false
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 135,
- 152
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 21
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 142,
- 143
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 11
- },
- "end": {
- "line": 7,
- "column": 12
- }
- },
- "name": "e"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 7,
- "column": 14
- },
- "end": {
- "line": 7,
- "column": 20
- }
- },
- "range": [
- 145,
- 151
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 145,
- 151
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 14
- },
- "end": {
- "line": 7,
- "column": 20
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": true
- },
- {
- "type": "TSPropertySignature",
- "range": [
- 157,
- 176
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 23
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 166,
- 167
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 13
- },
- "end": {
- "line": 8,
- "column": 14
- }
- },
- "name": "f"
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 8,
- "column": 16
- },
- "end": {
- "line": 8,
- "column": 22
- }
- },
- "range": [
- 169,
- 175
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 169,
- 175
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 16
- },
- "end": {
- "line": 8,
- "column": 22
- }
- }
- }
- },
- "initializer": null,
- "accessibility": null,
- "readonly": true,
- "static": false,
- "export": false
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 182,
- 211
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 4
- },
- "end": {
- "line": 10,
- "column": 33
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 190,
- 193
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 12
- },
- "end": {
- "line": 10,
- "column": 15
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 10,
- "column": 17
- },
- "end": {
- "line": 10,
- "column": 23
- }
- },
- "range": [
- 195,
- 201
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 195,
- 201
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 17
- },
- "end": {
- "line": 10,
- "column": 23
- }
- }
- }
- }
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 10,
- "column": 26
- },
- "end": {
- "line": 10,
- "column": 32
- }
- },
- "range": [
- 204,
- 210
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 204,
- 210
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 26
- },
- "end": {
- "line": 10,
- "column": 32
- }
- }
- }
- },
- "accessibility": "public",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 216,
- 246
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 4
- },
- "end": {
- "line": 11,
- "column": 34
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 225,
- 228
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 13
- },
- "end": {
- "line": 11,
- "column": 16
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 11,
- "column": 18
- },
- "end": {
- "line": 11,
- "column": 24
- }
- },
- "range": [
- 230,
- 236
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 230,
- 236
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 18
- },
- "end": {
- "line": 11,
- "column": 24
- }
- }
- }
- }
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 11,
- "column": 27
- },
- "end": {
- "line": 11,
- "column": 33
- }
- },
- "range": [
- 239,
- 245
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 239,
- 245
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 27
- },
- "end": {
- "line": 11,
- "column": 33
- }
- }
- }
- },
- "accessibility": "private",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 251,
- 283
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 4
- },
- "end": {
- "line": 12,
- "column": 36
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 262,
- 265
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 15
- },
- "end": {
- "line": 12,
- "column": 18
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 12,
- "column": 20
- },
- "end": {
- "line": 12,
- "column": 26
- }
- },
- "range": [
- 267,
- 273
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 267,
- 273
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 20
- },
- "end": {
- "line": 12,
- "column": 26
- }
- }
- }
- }
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 12,
- "column": 29
- },
- "end": {
- "line": 12,
- "column": 35
- }
- },
- "range": [
- 276,
- 282
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 276,
- 282
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 29
- },
- "end": {
- "line": 12,
- "column": 35
- }
- }
- }
- },
- "accessibility": "protected",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 288,
- 317
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 4
- },
- "end": {
- "line": 13,
- "column": 33
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 296,
- 299
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 12
- },
- "end": {
- "line": 13,
- "column": 15
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 13,
- "column": 17
- },
- "end": {
- "line": 13,
- "column": 23
- }
- },
- "range": [
- 301,
- 307
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 301,
- 307
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 17
- },
- "end": {
- "line": 13,
- "column": 23
- }
- }
- }
- }
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 13,
- "column": 26
- },
- "end": {
- "line": 13,
- "column": 32
- }
- },
- "range": [
- 310,
- 316
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 310,
- 316
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 26
- },
- "end": {
- "line": 13,
- "column": 32
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": true,
- "export": false
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 322,
- 351
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 4
- },
- "end": {
- "line": 14,
- "column": 33
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 330,
- 333
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 12
- },
- "end": {
- "line": 14,
- "column": 15
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 14,
- "column": 17
- },
- "end": {
- "line": 14,
- "column": 23
- }
- },
- "range": [
- 335,
- 341
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 335,
- 341
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 17
- },
- "end": {
- "line": 14,
- "column": 23
- }
- }
- }
- }
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 14,
- "column": 26
- },
- "end": {
- "line": 14,
- "column": 32
- }
- },
- "range": [
- 344,
- 350
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 344,
- 350
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 26
- },
- "end": {
- "line": 14,
- "column": 32
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": true
- },
- {
- "type": "TSIndexSignature",
- "range": [
- 356,
- 387
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 4
- },
- "end": {
- "line": 15,
- "column": 35
- }
- },
- "index": {
- "type": "Identifier",
- "range": [
- 366,
- 369
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 14
- },
- "end": {
- "line": 15,
- "column": 17
- }
- },
- "name": "baz",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 15,
- "column": 19
- },
- "end": {
- "line": 15,
- "column": 25
- }
- },
- "range": [
- 371,
- 377
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 371,
- 377
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 19
- },
- "end": {
- "line": 15,
- "column": 25
- }
- }
- }
- }
- },
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 15,
- "column": 28
- },
- "end": {
- "line": 15,
- "column": 34
- }
- },
- "range": [
- 380,
- 386
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 380,
- 386
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 28
- },
- "end": {
- "line": 15,
- "column": 34
- }
- }
- }
- },
- "accessibility": null,
- "readonly": true,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 393,
- 421
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 4
- },
- "end": {
- "line": 17,
- "column": 32
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 400,
- 401
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 11
- },
- "end": {
- "line": 17,
- "column": 12
- }
- },
- "name": "g"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 402,
- 405
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 13
- },
- "end": {
- "line": 17,
- "column": 16
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 17,
- "column": 18
- },
- "end": {
- "line": 17,
- "column": 24
- }
- },
- "range": [
- 407,
- 413
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 407,
- 413
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 18
- },
- "end": {
- "line": 17,
- "column": 24
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 17,
- "column": 27
- },
- "end": {
- "line": 17,
- "column": 31
- }
- },
- "range": [
- 416,
- 420
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 416,
- 420
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 27
- },
- "end": {
- "line": 17,
- "column": 31
- }
- }
- }
- },
- "accessibility": "public",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 426,
- 455
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 4
- },
- "end": {
- "line": 18,
- "column": 33
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 434,
- 435
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 12
- },
- "end": {
- "line": 18,
- "column": 13
- }
- },
- "name": "h"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 436,
- 439
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 14
- },
- "end": {
- "line": 18,
- "column": 17
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 18,
- "column": 19
- },
- "end": {
- "line": 18,
- "column": 25
- }
- },
- "range": [
- 441,
- 447
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 441,
- 447
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 19
- },
- "end": {
- "line": 18,
- "column": 25
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 18,
- "column": 28
- },
- "end": {
- "line": 18,
- "column": 32
- }
- },
- "range": [
- 450,
- 454
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 450,
- 454
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 28
- },
- "end": {
- "line": 18,
- "column": 32
- }
- }
- }
- },
- "accessibility": "private",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 460,
- 491
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 4
- },
- "end": {
- "line": 19,
- "column": 35
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 470,
- 471
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 14
- },
- "end": {
- "line": 19,
- "column": 15
- }
- },
- "name": "i"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 472,
- 475
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 16
- },
- "end": {
- "line": 19,
- "column": 19
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 19,
- "column": 21
- },
- "end": {
- "line": 19,
- "column": 27
- }
- },
- "range": [
- 477,
- 483
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 477,
- 483
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 21
- },
- "end": {
- "line": 19,
- "column": 27
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 19,
- "column": 30
- },
- "end": {
- "line": 19,
- "column": 34
- }
- },
- "range": [
- 486,
- 490
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 486,
- 490
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 30
- },
- "end": {
- "line": 19,
- "column": 34
- }
- }
- }
- },
- "accessibility": "protected",
- "readonly": false,
- "static": false,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 496,
- 524
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 4
- },
- "end": {
- "line": 20,
- "column": 32
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 503,
- 504
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 11
- },
- "end": {
- "line": 20,
- "column": 12
- }
- },
- "name": "j"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 505,
- 508
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 13
- },
- "end": {
- "line": 20,
- "column": 16
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 20,
- "column": 18
- },
- "end": {
- "line": 20,
- "column": 24
- }
- },
- "range": [
- 510,
- 516
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 510,
- 516
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 18
- },
- "end": {
- "line": 20,
- "column": 24
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 20,
- "column": 27
- },
- "end": {
- "line": 20,
- "column": 31
- }
- },
- "range": [
- 519,
- 523
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 519,
- 523
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 27
- },
- "end": {
- "line": 20,
- "column": 31
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": true,
- "export": false
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 529,
- 557
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 4
- },
- "end": {
- "line": 21,
- "column": 32
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 536,
- 537
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 11
- },
- "end": {
- "line": 21,
- "column": 12
- }
- },
- "name": "k"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 538,
- 541
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 13
- },
- "end": {
- "line": 21,
- "column": 16
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 21,
- "column": 18
- },
- "end": {
- "line": 21,
- "column": 24
- }
- },
- "range": [
- 543,
- 549
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 543,
- 549
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 18
- },
- "end": {
- "line": 21,
- "column": 24
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 21,
- "column": 27
- },
- "end": {
- "line": 21,
- "column": 31
- }
- },
- "range": [
- 552,
- 556
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 552,
- 556
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 27
- },
- "end": {
- "line": 21,
- "column": 31
- }
- }
- }
- },
- "accessibility": null,
- "readonly": false,
- "static": false,
- "export": true
- },
- {
- "type": "TSMethodSignature",
- "range": [
- 562,
- 592
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 4
- },
- "end": {
- "line": 22,
- "column": 34
- }
- },
- "optional": false,
- "computed": false,
- "key": {
- "type": "Identifier",
- "range": [
- 571,
- 572
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 13
- },
- "end": {
- "line": 22,
- "column": 14
- }
- },
- "name": "l"
- },
- "params": [
- {
- "type": "Identifier",
- "range": [
- 573,
- 576
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 15
- },
- "end": {
- "line": 22,
- "column": 18
- }
- },
- "name": "bar",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 22,
- "column": 20
- },
- "end": {
- "line": 22,
- "column": 26
- }
- },
- "range": [
- 578,
- 584
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 578,
- 584
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 20
- },
- "end": {
- "line": 22,
- "column": 26
- }
- }
- }
- }
- }
- ],
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 22,
- "column": 29
- },
- "end": {
- "line": 22,
- "column": 33
- }
- },
- "range": [
- 587,
- 591
- ],
- "typeAnnotation": {
- "type": "TSVoidKeyword",
- "range": [
- 587,
- 591
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 29
- },
- "end": {
- "line": 22,
- "column": 33
- }
- }
- }
- },
- "accessibility": null,
- "readonly": true,
- "static": false,
- "export": false
- }
- ],
- "range": [
- 14,
- 594
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 23,
- "column": 1
- }
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "name": "Foo"
- },
- "heritage": []
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "interface",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 20,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 25,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 32,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "String",
- "value": "'a'",
- "range": [
- 34,
- 37
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 37,
- 38
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 43,
- 49
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 50,
- 51
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 51,
- 52
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 53,
- 59
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 21
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 65,
- 72
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "b",
- "range": [
- 73,
- 74
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 12
- },
- "end": {
- "line": 4,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 74,
- 75
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 13
- },
- "end": {
- "line": 4,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 76,
- 82
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 15
- },
- "end": {
- "line": 4,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 82,
- 83
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 21
- },
- "end": {
- "line": 4,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 88,
- 97
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "c",
- "range": [
- 98,
- 99
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 5,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 99,
- 100
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 15
- },
- "end": {
- "line": 5,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 101,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 17
- },
- "end": {
- "line": 5,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 107,
- 108
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 23
- },
- "end": {
- "line": 5,
- "column": 24
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 113,
- 119
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 6,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "d",
- "range": [
- 120,
- 121
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 11
- },
- "end": {
- "line": 6,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 121,
- 122
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 12
- },
- "end": {
- "line": 6,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 123,
- 129
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 14
- },
- "end": {
- "line": 6,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 129,
- 130
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 20
- },
- "end": {
- "line": 6,
- "column": 21
- }
- }
- },
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 135,
- 141
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "e",
- "range": [
- 142,
- 143
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 11
- },
- "end": {
- "line": 7,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 143,
- 144
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 12
- },
- "end": {
- "line": 7,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 145,
- 151
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 14
- },
- "end": {
- "line": 7,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 151,
- 152
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 20
- },
- "end": {
- "line": 7,
- "column": 21
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 157,
- 165
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 4
- },
- "end": {
- "line": 8,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "f",
- "range": [
- 166,
- 167
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 13
- },
- "end": {
- "line": 8,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 167,
- 168
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 14
- },
- "end": {
- "line": 8,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 169,
- 175
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 16
- },
- "end": {
- "line": 8,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 175,
- 176
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 22
- },
- "end": {
- "line": 8,
- "column": 23
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 182,
- 188
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 4
- },
- "end": {
- "line": 10,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 189,
- 190
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 11
- },
- "end": {
- "line": 10,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 190,
- 193
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 12
- },
- "end": {
- "line": 10,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 193,
- 194
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 15
- },
- "end": {
- "line": 10,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 195,
- 201
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 17
- },
- "end": {
- "line": 10,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 201,
- 202
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 23
- },
- "end": {
- "line": 10,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 202,
- 203
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 24
- },
- "end": {
- "line": 10,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 204,
- 210
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 26
- },
- "end": {
- "line": 10,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 210,
- 211
- ],
- "loc": {
- "start": {
- "line": 10,
- "column": 32
- },
- "end": {
- "line": 10,
- "column": 33
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 216,
- 223
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 4
- },
- "end": {
- "line": 11,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 224,
- 225
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 12
- },
- "end": {
- "line": 11,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 225,
- 228
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 13
- },
- "end": {
- "line": 11,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 228,
- 229
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 16
- },
- "end": {
- "line": 11,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 230,
- 236
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 18
- },
- "end": {
- "line": 11,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 236,
- 237
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 24
- },
- "end": {
- "line": 11,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 237,
- 238
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 25
- },
- "end": {
- "line": 11,
- "column": 26
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 239,
- 245
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 27
- },
- "end": {
- "line": 11,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 245,
- 246
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 33
- },
- "end": {
- "line": 11,
- "column": 34
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 251,
- 260
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 4
- },
- "end": {
- "line": 12,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 261,
- 262
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 14
- },
- "end": {
- "line": 12,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 262,
- 265
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 15
- },
- "end": {
- "line": 12,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 265,
- 266
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 18
- },
- "end": {
- "line": 12,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 267,
- 273
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 20
- },
- "end": {
- "line": 12,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 273,
- 274
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 26
- },
- "end": {
- "line": 12,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 274,
- 275
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 27
- },
- "end": {
- "line": 12,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 276,
- 282
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 29
- },
- "end": {
- "line": 12,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 282,
- 283
- ],
- "loc": {
- "start": {
- "line": 12,
- "column": 35
- },
- "end": {
- "line": 12,
- "column": 36
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 288,
- 294
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 4
- },
- "end": {
- "line": 13,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 295,
- 296
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 11
- },
- "end": {
- "line": 13,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 296,
- 299
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 12
- },
- "end": {
- "line": 13,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 299,
- 300
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 15
- },
- "end": {
- "line": 13,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 301,
- 307
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 17
- },
- "end": {
- "line": 13,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 307,
- 308
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 23
- },
- "end": {
- "line": 13,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 308,
- 309
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 24
- },
- "end": {
- "line": 13,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 310,
- 316
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 26
- },
- "end": {
- "line": 13,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 316,
- 317
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 32
- },
- "end": {
- "line": 13,
- "column": 33
- }
- }
- },
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 322,
- 328
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 4
- },
- "end": {
- "line": 14,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 329,
- 330
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 11
- },
- "end": {
- "line": 14,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 330,
- 333
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 12
- },
- "end": {
- "line": 14,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 333,
- 334
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 15
- },
- "end": {
- "line": 14,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 335,
- 341
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 17
- },
- "end": {
- "line": 14,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 341,
- 342
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 23
- },
- "end": {
- "line": 14,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 342,
- 343
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 24
- },
- "end": {
- "line": 14,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 344,
- 350
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 26
- },
- "end": {
- "line": 14,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 350,
- 351
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 32
- },
- "end": {
- "line": 14,
- "column": 33
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 356,
- 364
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 4
- },
- "end": {
- "line": 15,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "[",
- "range": [
- 365,
- 366
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 13
- },
- "end": {
- "line": 15,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "baz",
- "range": [
- 366,
- 369
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 14
- },
- "end": {
- "line": 15,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 369,
- 370
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 17
- },
- "end": {
- "line": 15,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 371,
- 377
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 19
- },
- "end": {
- "line": 15,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "]",
- "range": [
- 377,
- 378
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 25
- },
- "end": {
- "line": 15,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 378,
- 379
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 26
- },
- "end": {
- "line": 15,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 380,
- 386
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 28
- },
- "end": {
- "line": 15,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 386,
- 387
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 34
- },
- "end": {
- "line": 15,
- "column": 35
- }
- }
- },
- {
- "type": "Keyword",
- "value": "public",
- "range": [
- 393,
- 399
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 4
- },
- "end": {
- "line": 17,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "g",
- "range": [
- 400,
- 401
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 11
- },
- "end": {
- "line": 17,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 401,
- 402
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 12
- },
- "end": {
- "line": 17,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 402,
- 405
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 13
- },
- "end": {
- "line": 17,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 405,
- 406
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 16
- },
- "end": {
- "line": 17,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 407,
- 413
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 18
- },
- "end": {
- "line": 17,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 413,
- 414
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 24
- },
- "end": {
- "line": 17,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 414,
- 415
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 25
- },
- "end": {
- "line": 17,
- "column": 26
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 416,
- 420
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 27
- },
- "end": {
- "line": 17,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 420,
- 421
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 31
- },
- "end": {
- "line": 17,
- "column": 32
- }
- }
- },
- {
- "type": "Keyword",
- "value": "private",
- "range": [
- 426,
- 433
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 4
- },
- "end": {
- "line": 18,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "h",
- "range": [
- 434,
- 435
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 12
- },
- "end": {
- "line": 18,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 435,
- 436
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 13
- },
- "end": {
- "line": 18,
- "column": 14
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 436,
- 439
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 14
- },
- "end": {
- "line": 18,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 439,
- 440
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 17
- },
- "end": {
- "line": 18,
- "column": 18
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 441,
- 447
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 19
- },
- "end": {
- "line": 18,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 447,
- 448
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 25
- },
- "end": {
- "line": 18,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 448,
- 449
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 26
- },
- "end": {
- "line": 18,
- "column": 27
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 450,
- 454
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 28
- },
- "end": {
- "line": 18,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 454,
- 455
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 32
- },
- "end": {
- "line": 18,
- "column": 33
- }
- }
- },
- {
- "type": "Keyword",
- "value": "protected",
- "range": [
- 460,
- 469
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 4
- },
- "end": {
- "line": 19,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "i",
- "range": [
- 470,
- 471
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 14
- },
- "end": {
- "line": 19,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 471,
- 472
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 15
- },
- "end": {
- "line": 19,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 472,
- 475
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 16
- },
- "end": {
- "line": 19,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 475,
- 476
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 19
- },
- "end": {
- "line": 19,
- "column": 20
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 477,
- 483
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 21
- },
- "end": {
- "line": 19,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 483,
- 484
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 27
- },
- "end": {
- "line": 19,
- "column": 28
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 484,
- 485
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 28
- },
- "end": {
- "line": 19,
- "column": 29
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 486,
- 490
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 30
- },
- "end": {
- "line": 19,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 490,
- 491
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 34
- },
- "end": {
- "line": 19,
- "column": 35
- }
- }
- },
- {
- "type": "Keyword",
- "value": "static",
- "range": [
- 496,
- 502
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 4
- },
- "end": {
- "line": 20,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "j",
- "range": [
- 503,
- 504
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 11
- },
- "end": {
- "line": 20,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 504,
- 505
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 12
- },
- "end": {
- "line": 20,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 505,
- 508
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 13
- },
- "end": {
- "line": 20,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 508,
- 509
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 16
- },
- "end": {
- "line": 20,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 510,
- 516
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 18
- },
- "end": {
- "line": 20,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 516,
- 517
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 24
- },
- "end": {
- "line": 20,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 517,
- 518
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 25
- },
- "end": {
- "line": 20,
- "column": 26
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 519,
- 523
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 27
- },
- "end": {
- "line": 20,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 523,
- 524
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 31
- },
- "end": {
- "line": 20,
- "column": 32
- }
- }
- },
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 529,
- 535
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 4
- },
- "end": {
- "line": 21,
- "column": 10
- }
- }
- },
- {
- "type": "Identifier",
- "value": "k",
- "range": [
- 536,
- 537
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 11
- },
- "end": {
- "line": 21,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 537,
- 538
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 12
- },
- "end": {
- "line": 21,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 538,
- 541
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 13
- },
- "end": {
- "line": 21,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 541,
- 542
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 16
- },
- "end": {
- "line": 21,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 543,
- 549
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 18
- },
- "end": {
- "line": 21,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 549,
- 550
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 24
- },
- "end": {
- "line": 21,
- "column": 25
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 550,
- 551
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 25
- },
- "end": {
- "line": 21,
- "column": 26
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 552,
- 556
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 27
- },
- "end": {
- "line": 21,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 556,
- 557
- ],
- "loc": {
- "start": {
- "line": 21,
- "column": 31
- },
- "end": {
- "line": 21,
- "column": 32
- }
- }
- },
- {
- "type": "Identifier",
- "value": "readonly",
- "range": [
- 562,
- 570
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 4
- },
- "end": {
- "line": 22,
- "column": 12
- }
- }
- },
- {
- "type": "Identifier",
- "value": "l",
- "range": [
- 571,
- 572
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 13
- },
- "end": {
- "line": 22,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 572,
- 573
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 14
- },
- "end": {
- "line": 22,
- "column": 15
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 573,
- 576
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 15
- },
- "end": {
- "line": 22,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 576,
- 577
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 18
- },
- "end": {
- "line": 22,
- "column": 19
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 578,
- 584
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 20
- },
- "end": {
- "line": 22,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 584,
- 585
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 26
- },
- "end": {
- "line": 22,
- "column": 27
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 585,
- 586
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 27
- },
- "end": {
- "line": 22,
- "column": 28
- }
- }
- },
- {
- "type": "Keyword",
- "value": "void",
- "range": [
- 587,
- 591
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 29
- },
- "end": {
- "line": 22,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 591,
- 592
- ],
- "loc": {
- "start": {
- "line": 22,
- "column": 33
- },
- "end": {
- "line": 22,
- "column": 34
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 593,
- 594
- ],
- "loc": {
- "start": {
- "line": 23,
- "column": 0
- },
- "end": {
- "line": 23,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/expressions/call-expression-type-arguments.result.js b/tests/fixtures/typescript/expressions/call-expression-type-arguments.result.js
deleted file mode 100644
index f8a47b5..0000000
--- a/tests/fixtures/typescript/expressions/call-expression-type-arguments.result.js
+++ /dev/null
@@ -1,489 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 24
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "body": [
- {
- "type": "ExpressionStatement",
- "range": [
- 0,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 0,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- },
- "name": "foo"
- },
- "arguments": [],
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 3,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 6
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "name": "A"
- },
- "typeParameters": null
- }
- ]
- }
- }
- },
- {
- "type": "ExpressionStatement",
- "range": [
- 10,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "expression": {
- "type": "CallExpression",
- "range": [
- 10,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 13
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 3
- }
- },
- "name": "foo"
- },
- "arguments": [],
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 13,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 3
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- },
- "id": {
- "type": "TSNumberKeyword",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- "typeParameters": null
- }
- ]
- }
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 0,
- 3
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 3
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 3,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 4,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 5,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 7,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Identifier",
- "value": "foo",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 3
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 3
- },
- "end": {
- "line": 2,
- "column": 4
- }
- }
- },
- {
- "type": "Identifier",
- "value": "number",
- "range": [
- 14,
- 20
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 22,
- 23
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 13
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 23,
- 24
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/expressions/new-expression-type-arguments.result.js b/tests/fixtures/typescript/expressions/new-expression-type-arguments.result.js
deleted file mode 100644
index 459bac2..0000000
--- a/tests/fixtures/typescript/expressions/new-expression-type-arguments.result.js
+++ /dev/null
@@ -1,366 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "body": [
- {
- "type": "VariableDeclaration",
- "range": [
- 0,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "range": [
- 6,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- },
- "name": "a"
- },
- "init": {
- "type": "NewExpression",
- "range": [
- 10,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "callee": {
- "type": "Identifier",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "name": "A"
- },
- "arguments": [],
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 15,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 18
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "name": "B"
- },
- "typeParameters": null
- }
- ]
- }
- }
- }
- ],
- "kind": "const"
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Keyword",
- "value": "const",
- "range": [
- 0,
- 5
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 5
- }
- }
- },
- {
- "type": "Identifier",
- "value": "a",
- "range": [
- 6,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "=",
- "range": [
- 8,
- 9
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 9
- }
- }
- },
- {
- "type": "Keyword",
- "value": "new",
- "range": [
- 10,
- 13
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 13
- }
- }
- },
- {
- "type": "Identifier",
- "value": "A",
- "range": [
- 14,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 15,
- 16
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 16
- }
- }
- },
- {
- "type": "Identifier",
- "value": "B",
- "range": [
- 16,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 18,
- 19
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 19,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 20,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/namespaces-and-modules/ambient-module-declaration-with-import.result.js b/tests/fixtures/typescript/namespaces-and-modules/ambient-module-declaration-with-import.result.js
deleted file mode 100644
index da04e37..0000000
--- a/tests/fixtures/typescript/namespaces-and-modules/ambient-module-declaration-with-import.result.js
+++ /dev/null
@@ -1,349 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSModuleDeclaration",
- "range": [
- 0,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "modifiers": [
- {
- "type": "TSDeclareKeyword",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- }
- ],
- "name": {
- "type": "Literal",
- "range": [
- 15,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "value": "i-use-things",
- "raw": "\"i-use-things\""
- },
- "body": {
- "type": "TSModuleBlock",
- "range": [
- 30,
- 56
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ImportDeclaration",
- "range": [
- 34,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "source": {
- "type": "Literal",
- "range": [
- 49,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 21
- }
- },
- "value": "fs",
- "raw": "'fs'"
- },
- "specifiers": [
- {
- "type": "ImportDefaultSpecifier",
- "range": [
- 41,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "local": {
- "type": "Identifier",
- "range": [
- 41,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "name": "fs"
- }
- }
- ]
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "declare",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "module",
- "range": [
- 8,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "String",
- "value": "\"i-use-things\"",
- "range": [
- 15,
- 29
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 29
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 30,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Keyword",
- "value": "import",
- "range": [
- 34,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Identifier",
- "value": "fs",
- "range": [
- 41,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 11
- }
- }
- },
- {
- "type": "Identifier",
- "value": "from",
- "range": [
- 44,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 16
- }
- }
- },
- {
- "type": "String",
- "value": "'fs'",
- "range": [
- 49,
- 53
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 53,
- 54
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 55,
- 56
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/namespaces-and-modules/declare-namespace-with-exported-function.result.js b/tests/fixtures/typescript/namespaces-and-modules/declare-namespace-with-exported-function.result.js
deleted file mode 100644
index 178d5e7..0000000
--- a/tests/fixtures/typescript/namespaces-and-modules/declare-namespace-with-exported-function.result.js
+++ /dev/null
@@ -1,655 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 84
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSModuleDeclaration",
- "range": [
- 0,
- 84
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "modifiers": [
- {
- "type": "TSDeclareKeyword",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- }
- ],
- "name": {
- "type": "Identifier",
- "range": [
- 18,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "name": "d3"
- },
- "body": {
- "type": "TSModuleBlock",
- "range": [
- 21,
- 84
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportNamedDeclaration",
- "declaration": {
- "type": "TSNamespaceFunctionDeclaration",
- "range": [
- 32,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 59
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 41,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 24
- }
- },
- "name": "select"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [
- {
- "type": "Identifier",
- "range": [
- 48,
- 56
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- },
- "name": "selector",
- "typeAnnotation": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- },
- "range": [
- 58,
- 64
- ],
- "typeAnnotation": {
- "type": "TSStringKeyword",
- "range": [
- 58,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- }
- }
- }
- ],
- "body": null,
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 58
- }
- },
- "range": [
- 67,
- 81
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 67,
- 81
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 58
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 67,
- 76
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 53
- }
- },
- "name": "Selection"
- },
- "typeParameters": {
- "type": "TypeParameterInstantiation",
- "range": [
- 76,
- 81
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 53
- },
- "end": {
- "line": 2,
- "column": 58
- }
- },
- "params": [
- {
- "type": "GenericTypeAnnotation",
- "range": [
- 77,
- 80
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 54
- },
- "end": {
- "line": 2,
- "column": 57
- }
- },
- "id": {
- "type": "TSAnyKeyword",
- "range": [
- 77,
- 80
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 54
- },
- "end": {
- "line": 2,
- "column": 57
- }
- }
- },
- "typeParameters": null
- }
- ]
- }
- }
- }
- },
- "range": [
- 25,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 59
- }
- },
- "specifiers": [],
- "source": null
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "declare",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "namespace",
- "range": [
- 8,
- 17
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "d3",
- "range": [
- 18,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 18
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 21,
- 22
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 22
- }
- }
- },
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 25,
- 31
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 8
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 32,
- 40
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "select",
- "range": [
- 41,
- 47
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 18
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 47,
- 48
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 24
- },
- "end": {
- "line": 2,
- "column": 25
- }
- }
- },
- {
- "type": "Identifier",
- "value": "selector",
- "range": [
- 48,
- 56
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 56,
- 57
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 33
- },
- "end": {
- "line": 2,
- "column": 34
- }
- }
- },
- {
- "type": "Identifier",
- "value": "string",
- "range": [
- 58,
- 64
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 35
- },
- "end": {
- "line": 2,
- "column": 41
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 41
- },
- "end": {
- "line": 2,
- "column": 42
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 65,
- 66
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 42
- },
- "end": {
- "line": 2,
- "column": 43
- }
- }
- },
- {
- "type": "Identifier",
- "value": "Selection",
- "range": [
- 67,
- 76
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 53
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "<",
- "range": [
- 76,
- 77
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 53
- },
- "end": {
- "line": 2,
- "column": 54
- }
- }
- },
- {
- "type": "Identifier",
- "value": "any",
- "range": [
- 77,
- 80
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 54
- },
- "end": {
- "line": 2,
- "column": 57
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ">",
- "range": [
- 80,
- 81
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 57
- },
- "end": {
- "line": 2,
- "column": 58
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 81,
- 82
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 58
- },
- "end": {
- "line": 2,
- "column": 59
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 83,
- 84
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 1
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/fixtures/typescript/namespaces-and-modules/module-with-default-exports.result.js b/tests/fixtures/typescript/namespaces-and-modules/module-with-default-exports.result.js
deleted file mode 100644
index 8b9adfd..0000000
--- a/tests/fixtures/typescript/namespaces-and-modules/module-with-default-exports.result.js
+++ /dev/null
@@ -1,825 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 112
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "body": [
- {
- "type": "TSModuleDeclaration",
- "range": [
- 0,
- 112
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "name": {
- "type": "Literal",
- "range": [
- 7,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "value": "foo",
- "raw": "\"foo\""
- },
- "body": {
- "type": "TSModuleBlock",
- "range": [
- 13,
- 112
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "body": [
- {
- "type": "ExportDefaultDeclaration",
- "declaration": {
- "type": "ClassDeclaration",
- "range": [
- 34,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- },
- "name": "C"
- },
- "body": {
- "type": "ClassBody",
- "body": [
- {
- "type": "MethodDefinition",
- "range": [
- 52,
- 66
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 22
- }
- },
- "key": {
- "type": "Identifier",
- "range": [
- 52,
- 58
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "name": "method"
- },
- "value": {
- "type": "FunctionExpression",
- "id": null,
- "generator": false,
- "expression": false,
- "async": false,
- "body": {
- "type": "BlockStatement",
- "range": [
- 64,
- 66
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 22
- }
- },
- "body": []
- },
- "range": [
- 58,
- 66
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 22
- }
- },
- "returnType": {
- "type": "TypeAnnotation",
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "range": [
- 62,
- 63
- ],
- "typeAnnotation": {
- "type": "TSTypeReference",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "typeName": {
- "type": "Identifier",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- },
- "name": "C"
- }
- }
- },
- "params": []
- },
- "computed": false,
- "static": false,
- "kind": "method",
- "accessibility": null,
- "decorators": []
- }
- ],
- "range": [
- 42,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- "superClass": null,
- "implements": [],
- "decorators": []
- },
- "range": [
- 19,
- 73
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "ExportDefaultDeclaration",
- "declaration": {
- "type": "TSNamespaceFunctionDeclaration",
- "range": [
- 93,
- 110
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 19
- },
- "end": {
- "line": 5,
- "column": 36
- }
- },
- "id": {
- "type": "Identifier",
- "range": [
- 102,
- 105
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 28
- },
- "end": {
- "line": 5,
- "column": 31
- }
- },
- "name": "bar"
- },
- "generator": false,
- "expression": false,
- "async": false,
- "params": [],
- "body": {
- "type": "BlockStatement",
- "range": [
- 108,
- 110
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 34
- },
- "end": {
- "line": 5,
- "column": 36
- }
- },
- "body": []
- }
- },
- "range": [
- 78,
- 110
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 36
- }
- }
- }
- ]
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "module",
- "range": [
- 0,
- 6
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 6
- }
- }
- },
- {
- "type": "String",
- "value": "\"foo\"",
- "range": [
- 7,
- 12
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 13,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 19,
- 25
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 10
- }
- }
- },
- {
- "type": "Keyword",
- "value": "default",
- "range": [
- 26,
- 33
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 18
- }
- }
- },
- {
- "type": "Keyword",
- "value": "class",
- "range": [
- 34,
- 39
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 19
- },
- "end": {
- "line": 2,
- "column": 24
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 40,
- 41
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 2,
- "column": 26
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 42,
- 43
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 27
- },
- "end": {
- "line": 2,
- "column": 28
- }
- }
- },
- {
- "type": "Identifier",
- "value": "method",
- "range": [
- 52,
- 58
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 14
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 58,
- 59
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 15
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 59,
- 60
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 15
- },
- "end": {
- "line": 3,
- "column": 16
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ":",
- "range": [
- 60,
- 61
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 16
- },
- "end": {
- "line": 3,
- "column": 17
- }
- }
- },
- {
- "type": "Identifier",
- "value": "C",
- "range": [
- 62,
- 63
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 18
- },
- "end": {
- "line": 3,
- "column": 19
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 64,
- 65
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 20
- },
- "end": {
- "line": 3,
- "column": 21
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 65,
- 66
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 21
- },
- "end": {
- "line": 3,
- "column": 22
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 66,
- 67
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 23
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 72,
- 73
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- }
- },
- {
- "type": "Keyword",
- "value": "export",
- "range": [
- 78,
- 84
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 10
- }
- }
- },
- {
- "type": "Keyword",
- "value": "default",
- "range": [
- 85,
- 92
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 11
- },
- "end": {
- "line": 5,
- "column": 18
- }
- }
- },
- {
- "type": "Keyword",
- "value": "function",
- "range": [
- 93,
- 101
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 19
- },
- "end": {
- "line": 5,
- "column": 27
- }
- }
- },
- {
- "type": "Identifier",
- "value": "bar",
- "range": [
- 102,
- 105
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 28
- },
- "end": {
- "line": 5,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "(",
- "range": [
- 105,
- 106
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 31
- },
- "end": {
- "line": 5,
- "column": 32
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ")",
- "range": [
- 106,
- 107
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 32
- },
- "end": {
- "line": 5,
- "column": 33
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "{",
- "range": [
- 108,
- 109
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 34
- },
- "end": {
- "line": 5,
- "column": 35
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 109,
- 110
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 35
- },
- "end": {
- "line": 5,
- "column": 36
- }
- }
- },
- {
- "type": "Punctuator",
- "value": "}",
- "range": [
- 111,
- 112
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- }
- }
- ]
-};
diff --git a/tests/fixtures/typescript/namespaces-and-modules/shorthand-ambient-module-declaration.result.js b/tests/fixtures/typescript/namespaces-and-modules/shorthand-ambient-module-declaration.result.js
deleted file mode 100644
index 1321865..0000000
--- a/tests/fixtures/typescript/namespaces-and-modules/shorthand-ambient-module-declaration.result.js
+++ /dev/null
@@ -1,149 +0,0 @@
-module.exports = {
- "type": "Program",
- "range": [
- 0,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "body": [
- {
- "type": "TSModuleDeclaration",
- "range": [
- 0,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 32
- }
- },
- "modifiers": [
- {
- "type": "TSDeclareKeyword",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- }
- ],
- "name": {
- "type": "Literal",
- "range": [
- 15,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "value": "hot-new-module",
- "raw": "\"hot-new-module\""
- }
- }
- ],
- "sourceType": "script",
- "tokens": [
- {
- "type": "Identifier",
- "value": "declare",
- "range": [
- 0,
- 7
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 7
- }
- }
- },
- {
- "type": "Identifier",
- "value": "module",
- "range": [
- 8,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- {
- "type": "String",
- "value": "\"hot-new-module\"",
- "range": [
- 15,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- {
- "type": "Punctuator",
- "value": ";",
- "range": [
- 31,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/tests/lib/__snapshots__/basics.js.snap b/tests/lib/__snapshots__/basics.js.snap
new file mode 100644
index 0000000..b6f8177
--- /dev/null
+++ b/tests/lib/__snapshots__/basics.js.snap
@@ -0,0 +1,1450 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`basics fixtures/delete-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "delete",
+ "prefix": true,
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "UnaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/do-while-statements.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "EmptyStatement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "DoWhileStatement",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "i",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "raw": "0",
+ "type": "Literal",
+ "value": 0,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 15,
+ 25,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 5,
+ },
+ },
+ "name": "i",
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 5,
+ },
+ },
+ "operator": "+=",
+ "range": Array [
+ 34,
+ 40,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 41,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 29,
+ 43,
+ ],
+ "type": "BlockStatement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 58,
+ ],
+ "test": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "name": "i",
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "operator": "<",
+ "range": Array [
+ 51,
+ 56,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "raw": "5",
+ "type": "Literal",
+ "value": 5,
+ },
+ "type": "BinaryExpression",
+ },
+ "type": "DoWhileStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 58,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/identifiers-double-underscore.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "__test",
+ "range": Array [
+ 4,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 17,
+ ],
+ "raw": "'ff'",
+ "type": "Literal",
+ "value": "ff",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 17,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 32,
+ 36,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 3,
+ },
+ },
+ "name": "__Foo",
+ "range": Array [
+ 26,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 20,
+ 36,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 55,
+ 59,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 7,
+ },
+ },
+ "name": "__Bar",
+ "range": Array [
+ 47,
+ 52,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 7,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 38,
+ 59,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 59,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/instanceof.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 2,
+ ],
+ "raw": "''",
+ "type": "Literal",
+ "value": "",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "instanceof",
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "Set",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/new-with-member-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 4,
+ 11,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "NewExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/new-without-parens.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 22,
+ ],
+ "type": "NewExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 23,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/typeof-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "raw": "'str'",
+ "type": "Literal",
+ "value": "str",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "typeof",
+ "prefix": true,
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "UnaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/update-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "i",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "raw": "0",
+ "type": "Literal",
+ "value": 0,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 9,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "name": "i",
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "operator": "++",
+ "prefix": false,
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "UpdateExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 28,
+ 32,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 34,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 11,
+ 34,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 35,
+ 38,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 35,
+ 39,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`basics fixtures/void-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "raw": "4",
+ "type": "Literal",
+ "value": 4,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "void",
+ "prefix": true,
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "UnaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 7,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "operator": "void",
+ "prefix": true,
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "UnaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 8,
+ 16,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
diff --git a/tests/lib/__snapshots__/comments.js.snap b/tests/lib/__snapshots__/comments.js.snap
new file mode 100644
index 0000000..920218a
--- /dev/null
+++ b/tests/lib/__snapshots__/comments.js.snap
@@ -0,0 +1,3039 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Comments fixtures/block-trailing-comment.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 6,
+ 10,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/comment-within-condition.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "alternate": null,
+ "consequent": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 30,
+ ],
+ "type": "BlockStatement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 30,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "type": "IfStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 30,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/export-default-anonymous-class.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "name": "method1",
+ "range": Array [
+ 103,
+ 110,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 103,
+ 119,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 112,
+ 119,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 8,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 110,
+ 119,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 57,
+ 121,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": null,
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 51,
+ 121,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 36,
+ 121,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 36,
+ 121,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/jsx-block-comment.src 1`] = `"Unterminated regular expression literal."`;
+
+exports[`Comments fixtures/jsx-tag-comments.src 1`] = `"Type expected."`;
+
+exports[`Comments fixtures/line-comment-with-block-syntax.src 1`] = `
+Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 0,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 12,
+ 0,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/mix-line-and-block-comments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "zzz",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "raw": "777",
+ "type": "Literal",
+ "value": 777,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 27,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 6,
+ 28,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 6,
+ 28,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/no-comment-regex.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "regex",
+ "range": Array [
+ 6,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 33,
+ ],
+ "raw": "/no comment\\\\/**foo/",
+ "regex": Object {
+ "flags": "",
+ "pattern": "no comment\\\\/**foo",
+ },
+ "type": "Literal",
+ "value": null,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 33,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/no-comment-template.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "str",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "expressions": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "__dirname",
+ "range": Array [
+ 15,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "",
+ "raw": "",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 36,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "/test/*.js",
+ "raw": "/test/*.js",
+ },
+ },
+ ],
+ "range": Array [
+ 12,
+ 36,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 36,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/surrounding-call-comments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 36,
+ 39,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 41,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 42,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 60,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 60,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 60,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/surrounding-debugger-comments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 45,
+ ],
+ "type": "DebuggerStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 63,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 63,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 63,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/surrounding-return-comments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 43,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 61,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 61,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 61,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/surrounding-throw-comments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 42,
+ 44,
+ ],
+ "raw": "55",
+ "type": "Literal",
+ "value": 55,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 45,
+ ],
+ "type": "ThrowStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 63,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 63,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 63,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/surrounding-while-loop-comments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 43,
+ 46,
+ ],
+ "type": "BlockStatement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 46,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 41,
+ ],
+ "raw": "true",
+ "type": "Literal",
+ "value": true,
+ },
+ "type": "WhileStatement",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 65,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 61,
+ "line": 1,
+ },
+ },
+ "name": "each",
+ "range": Array [
+ 61,
+ 65,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 65,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 61,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 61,
+ 65,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 66,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 57,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 57,
+ 66,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 68,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 68,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 68,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 68,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 68,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 68,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/switch-fallthrough-comment.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "cases": Array [
+ Object {
+ "consequent": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 29,
+ 36,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "SwitchCase",
+ },
+ Object {
+ "consequent": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 6,
+ },
+ },
+ "name": "doIt",
+ "range": Array [
+ 82,
+ 86,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 82,
+ 88,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 82,
+ 89,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 66,
+ 89,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 71,
+ 72,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ "type": "SwitchCase",
+ },
+ ],
+ "discriminant": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 91,
+ ],
+ "type": "SwitchStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 91,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/switch-fallthrough-comment-in-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "cases": Array [
+ Object {
+ "consequent": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 61,
+ 68,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 66,
+ 67,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "SwitchCase",
+ },
+ Object {
+ "consequent": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 7,
+ },
+ },
+ "name": "doIt",
+ "range": Array [
+ 126,
+ 130,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 126,
+ 132,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 126,
+ 133,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 106,
+ 133,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 111,
+ 112,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ "type": "SwitchCase",
+ },
+ ],
+ "discriminant": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 31,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 139,
+ ],
+ "type": "SwitchStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 141,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 141,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 141,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/switch-no-default-comment.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "cases": Array [
+ Object {
+ "consequent": Array [
+ Object {
+ "label": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 33,
+ 39,
+ ],
+ "type": "BreakStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 39,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "SwitchCase",
+ },
+ ],
+ "discriminant": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 58,
+ ],
+ "type": "SwitchStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 58,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/switch-no-default-comment-in-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "cases": Array [
+ Object {
+ "consequent": Array [
+ Object {
+ "label": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 63,
+ 69,
+ ],
+ "type": "BreakStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 43,
+ 69,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 48,
+ 49,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ "type": "SwitchCase",
+ },
+ Object {
+ "consequent": Array [
+ Object {
+ "label": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 98,
+ 104,
+ ],
+ "type": "BreakStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 78,
+ 104,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 83,
+ 84,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "SwitchCase",
+ },
+ ],
+ "discriminant": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 131,
+ ],
+ "type": "SwitchStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 133,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 133,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 133,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/switch-no-default-comment-in-nested-functions.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "module",
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "exports",
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 286,
+ ],
+ "right": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "cases": Array [
+ Object {
+ "consequent": Array [
+ Object {
+ "argument": Object {
+ "arguments": Array [
+ Object {
+ "computed": true,
+ "loc": Object {
+ "end": Object {
+ "column": 79,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 6,
+ },
+ },
+ "object": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 50,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 6,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 6,
+ },
+ },
+ "name": "node",
+ "range": Array [
+ 172,
+ 176,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 50,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 6,
+ },
+ },
+ "name": "expressions",
+ "range": Array [
+ 177,
+ 188,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 172,
+ 188,
+ ],
+ "type": "MemberExpression",
+ },
+ "property": Object {
+ "left": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 74,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 6,
+ },
+ },
+ "object": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 67,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 6,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 6,
+ },
+ },
+ "name": "node",
+ "range": Array [
+ 189,
+ 193,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 67,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 56,
+ "line": 6,
+ },
+ },
+ "name": "expressions",
+ "range": Array [
+ 194,
+ 205,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 189,
+ 205,
+ ],
+ "type": "MemberExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 74,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 68,
+ "line": 6,
+ },
+ },
+ "name": "length",
+ "range": Array [
+ 206,
+ 212,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 189,
+ 212,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 78,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 6,
+ },
+ },
+ "operator": "-",
+ "range": Array [
+ 189,
+ 216,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 78,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 77,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 215,
+ 216,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "BinaryExpression",
+ },
+ "range": Array [
+ 172,
+ 217,
+ ],
+ "type": "MemberExpression",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 6,
+ },
+ },
+ "name": "isConstant",
+ "range": Array [
+ 161,
+ 171,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 80,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 161,
+ 218,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 81,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 154,
+ 219,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 81,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 111,
+ 219,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 116,
+ 136,
+ ],
+ "raw": "\\"SequenceExpression\\"",
+ "type": "Literal",
+ "value": "SequenceExpression",
+ },
+ "type": "SwitchCase",
+ },
+ ],
+ "discriminant": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 4,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 4,
+ },
+ },
+ "name": "node",
+ "range": Array [
+ 86,
+ 90,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 4,
+ },
+ },
+ "name": "type",
+ "range": Array [
+ 91,
+ 95,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 86,
+ 95,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 78,
+ 255,
+ ],
+ "type": "SwitchStatement",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 271,
+ 276,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 264,
+ 277,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 68,
+ 283,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 3,
+ },
+ },
+ "name": "isConstant",
+ "range": Array [
+ 51,
+ 61,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 3,
+ },
+ },
+ "name": "node",
+ "range": Array [
+ 62,
+ 66,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 42,
+ 283,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 286,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "context",
+ "range": Array [
+ 26,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 17,
+ 286,
+ ],
+ "type": "FunctionExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 287,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 287,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`Comments fixtures/template-string-block.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "expressions": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 3,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "",
+ "raw": "",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "",
+ "raw": "",
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 56,
+ 57,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 60,
+ 61,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 56,
+ 62,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 11,
+ 64,
+ ],
+ "type": "BlockStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 64,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
diff --git a/tests/lib/__snapshots__/ecma-features.js.snap b/tests/lib/__snapshots__/ecma-features.js.snap
new file mode 100644
index 0000000..27aaffe
--- /dev/null
+++ b/tests/lib/__snapshots__/ecma-features.js.snap
@@ -0,0 +1,93995 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`ecmaFeatures REGEXP FLAG - NODE VERSION <6: fixtures/regexUFlag/regex-u-extended-escape.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 40,
+ ],
+ "raw": "/[\\\\u{0000000000000061}-\\\\u{7A}]/u",
+ "regex": Object {
+ "flags": "u",
+ "pattern": "[\\\\u{0000000000000061}-\\\\u{7A}]",
+ },
+ "type": "Literal",
+ "value": null,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 40,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 41,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 41,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 40,
+ ],
+ "regex": Object {
+ "flags": "u",
+ "pattern": "[\\\\u{0000000000000061}-\\\\u{7A}]",
+ },
+ "type": "RegularExpression",
+ "value": "/[\\\\u{0000000000000061}-\\\\u{7A}]/u",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures REGEXP FLAG - NODE VERSION <6: fixtures/regexUFlag/regex-u-simple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "raw": "/foo/u",
+ "regex": Object {
+ "flags": "u",
+ "pattern": "foo",
+ },
+ "type": "Literal",
+ "value": null,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "regex": Object {
+ "flags": "u",
+ "pattern": "foo",
+ },
+ "type": "RegularExpression",
+ "value": "/foo/u",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures REGEXP FLAG - NODE VERSION <6: fixtures/regexYFlag/regexp-y-simple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "raw": "/foo/y",
+ "regex": Object {
+ "flags": "y",
+ "pattern": "foo",
+ },
+ "type": "Literal",
+ "value": null,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "regex": Object {
+ "flags": "y",
+ "pattern": "foo",
+ },
+ "type": "RegularExpression",
+ "value": "/foo/y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures REGEXP FLAG - NODE VERSION >=6: fixtures/regexUFlag/regex-u-extended-escape.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 40,
+ ],
+ "raw": "/[\\\\u{0000000000000061}-\\\\u{7A}]/u",
+ "regex": Object {
+ "flags": "u",
+ "pattern": "[\\\\u{0000000000000061}-\\\\u{7A}]",
+ },
+ "type": "Literal",
+ "value": Object {},
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 40,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 41,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 41,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 40,
+ ],
+ "regex": Object {
+ "flags": "u",
+ "pattern": "[\\\\u{0000000000000061}-\\\\u{7A}]",
+ },
+ "type": "RegularExpression",
+ "value": "/[\\\\u{0000000000000061}-\\\\u{7A}]/u",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures REGEXP FLAG - NODE VERSION >=6: fixtures/regexUFlag/regex-u-simple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "raw": "/foo/u",
+ "regex": Object {
+ "flags": "u",
+ "pattern": "foo",
+ },
+ "type": "Literal",
+ "value": Object {},
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "regex": Object {
+ "flags": "u",
+ "pattern": "foo",
+ },
+ "type": "RegularExpression",
+ "value": "/foo/u",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures REGEXP FLAG - NODE VERSION >=6: fixtures/regexYFlag/regexp-y-simple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "raw": "/foo/y",
+ "regex": Object {
+ "flags": "y",
+ "pattern": "foo",
+ },
+ "type": "Literal",
+ "value": Object {},
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "regex": Object {
+ "flags": "y",
+ "pattern": "foo",
+ },
+ "type": "RegularExpression",
+ "value": "/foo/y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/as-param.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/as-param-with-params.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/basic.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 12,
+ ],
+ "raw": "\\"test\\"",
+ "type": "Literal",
+ "value": "test",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 12,
+ ],
+ "type": "String",
+ "value": "\\"test\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/block-body.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 12,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "e",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/block-body-not-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "ExpressionStatement",
+ },
+ "label": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "label",
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 16,
+ ],
+ "type": "LabeledStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 18,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "e",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "label",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 1,
+ 7,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/iife.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "property",
+ "range": Array [
+ 8,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 8,
+ 20,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ },
+ ],
+ "range": Array [
+ 6,
+ 22,
+ ],
+ "type": "ObjectExpression",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "e",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "property",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/multiple-params.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "raw": "\\"test\\"",
+ "type": "Literal",
+ "value": "test",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "type": "String",
+ "value": "\\"test\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/no-auto-return.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 17,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/not-strict-arguments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "arguments",
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "arguments",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/not-strict-eval.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 10,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "eval",
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "eval",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 10,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/not-strict-eval-params.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "eval",
+ "range": Array [
+ 1,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "eval",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/not-strict-octal.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "raw": "00",
+ "type": "Literal",
+ "value": 0,
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Numeric",
+ "value": "00",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/return-arrow-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 5,
+ 12,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/return-sequence.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "async": false,
+ "body": Object {
+ "expressions": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "type": "SequenceExpression",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 8,
+ 27,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/single-param.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "raw": "\\"test\\"",
+ "type": "Literal",
+ "value": "test",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "e",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "type": "String",
+ "value": "\\"test\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/single-param-parens.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 13,
+ ],
+ "raw": "\\"test\\"",
+ "type": "Literal",
+ "value": "test",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "e",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 13,
+ ],
+ "type": "String",
+ "value": "\\"test\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/arrowFunctions/single-param-return-identifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "earth",
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "sun",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "sun",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "earth",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/binaryLiterals/invalid.src 1`] = `"';' expected."`;
+
+exports[`ecmaFeatures fixtures/binaryLiterals/lowercase.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "raw": "0b101",
+ "type": "Literal",
+ "value": 5,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Numeric",
+ "value": "0b101",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/binaryLiterals/uppercase.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "raw": "0B101",
+ "type": "Literal",
+ "value": 5,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Numeric",
+ "value": "0B101",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/blockBindings/const.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 15,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/blockBindings/let.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 13,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "let",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/blockBindings/let-in-switchcase.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "cases": Array [
+ Object {
+ "consequent": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "name": "t",
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 37,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 37,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 38,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "label": null,
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 45,
+ ],
+ "type": "BreakStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 45,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "type": "SwitchCase",
+ },
+ ],
+ "discriminant": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "answer",
+ "range": Array [
+ 8,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "type": "SwitchStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "switch",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "answer",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "Keyword",
+ "value": "case",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Keyword",
+ "value": "let",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Identifier",
+ "value": "t",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 37,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 44,
+ ],
+ "type": "Keyword",
+ "value": "break",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-accessor-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "get",
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 14,
+ 18,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "set",
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 29,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 29,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 24,
+ 29,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 31,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-computed-static-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 23,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 19,
+ 23,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 25,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": null,
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "superClass": null,
+ "type": "ClassExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-method-named-prototype.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "prototype",
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 22,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 22,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 23,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "prototype",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-method-named-static.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "static",
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 19,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 19,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 15,
+ 19,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 21,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-method-named-with-space.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "withSpace",
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 24,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 25,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "withSpace",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-one-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 19,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 15,
+ 19,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 21,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-one-method-super.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 41,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 27,
+ 32,
+ ],
+ "type": "Super",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 27,
+ 34,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 27,
+ 35,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 41,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 15,
+ 41,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 43,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 43,
+ 44,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 44,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 27,
+ 32,
+ ],
+ "type": "Keyword",
+ "value": "super",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 43,
+ 44,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-static-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 21,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 23,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-static-method-named-prototype.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 28,
+ ],
+ "raw": "\\"prototype\\"",
+ "type": "Literal",
+ "value": "prototype",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 33,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 33,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 29,
+ 33,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 34,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 28,
+ ],
+ "type": "String",
+ "value": "\\"prototype\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-static-method-named-static.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "static",
+ "range": Array [
+ 16,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 26,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 22,
+ 26,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 28,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 22,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-static-methods-and-accessor-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 21,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "get",
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 38,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 38,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 34,
+ 38,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 51,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 50,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "set",
+ "loc": Object {
+ "end": Object {
+ "column": 56,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 56,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 56,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 54,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 54,
+ 56,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 56,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 52,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 52,
+ 53,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 51,
+ 56,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 58,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 58,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 58,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 58,
+ 59,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 59,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 28,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 32,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 45,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 49,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 51,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 50,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 52,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 52,
+ 53,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 53,
+ 54,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 54,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 54,
+ 55,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 56,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 55,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 57,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 57,
+ 58,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 58,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 58,
+ 59,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-two-computed-static-methods.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 22,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 22,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 37,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 37,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 33,
+ 37,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 38,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 38,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 30,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-two-methods.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 19,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 15,
+ 19,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 20,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-two-methods-computed-constructor.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 22,
+ ],
+ "raw": "\\"constructor\\"",
+ "type": "Literal",
+ "value": "constructor",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 26,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 22,
+ 26,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 41,
+ ],
+ "raw": "\\"constructor\\"",
+ "type": "Literal",
+ "value": "constructor",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 46,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 46,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 42,
+ 46,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 47,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 48,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 48,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 22,
+ ],
+ "type": "String",
+ "value": "\\"constructor\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 41,
+ ],
+ "type": "String",
+ "value": "\\"constructor\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 43,
+ 44,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 48,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-two-methods-semi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 16,
+ 20,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 21,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-two-methods-three-semi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 15,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 11,
+ 15,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 23,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-two-methods-two-semi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 16,
+ 20,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 22,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-two-static-methods-named-constructor.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 16,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 31,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 31,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 27,
+ 31,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 50,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 39,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 54,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 52,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 52,
+ 54,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 50,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 50,
+ 54,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 55,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 55,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 56,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 55,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 56,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "constructor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "Keyword",
+ "value": "static",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 50,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 50,
+ ],
+ "type": "Identifier",
+ "value": "constructor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 51,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 50,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 52,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 52,
+ 53,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 53,
+ 54,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 54,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 54,
+ 55,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 56,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 55,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-with-constructor.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 9,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 24,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 20,
+ 24,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 25,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "constructor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-with-constructor-parameters.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 9,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 32,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 32,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 20,
+ 32,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 33,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "constructor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/class-with-constructor-with-space.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 9,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 25,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 21,
+ 25,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 26,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "constructor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/derived-class-assign-to-var.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 27,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 27,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "raw": "0",
+ "type": "Literal",
+ "value": 0,
+ },
+ "type": "ClassExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 27,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 13,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 23,
+ ],
+ "type": "Keyword",
+ "value": "extends",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Numeric",
+ "value": "0",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/derived-class-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": null,
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 18,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "raw": "0",
+ "type": "Literal",
+ "value": 0,
+ },
+ "type": "ClassExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "extends",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Numeric",
+ "value": "0",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/empty-class.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 10,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/empty-class-double-semi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 10,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/empty-class-semi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/empty-literal-derived-class.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "raw": "0",
+ "type": "Literal",
+ "value": 0,
+ },
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "extends",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Numeric",
+ "value": "0",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/named-class-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 11,
+ ],
+ "superClass": null,
+ "type": "ClassExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/classes/named-derived-class-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 20,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "raw": "0",
+ "type": "Literal",
+ "value": 0,
+ },
+ "type": "ClassExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 16,
+ ],
+ "type": "Keyword",
+ "value": "extends",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "0",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/defaultParams/class-constructor.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 44,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 37,
+ 44,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 35,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 35,
+ ],
+ "raw": "'bar'",
+ "type": "Literal",
+ "value": "bar",
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 25,
+ 44,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 46,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 46,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 46,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "constructor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 35,
+ ],
+ "type": "String",
+ "value": "'bar'",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 43,
+ 44,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/defaultParams/class-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 36,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 36,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 27,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 27,
+ ],
+ "raw": "'baz'",
+ "type": "Literal",
+ "value": "baz",
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 17,
+ 36,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 38,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 38,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 38,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 27,
+ ],
+ "type": "String",
+ "value": "'baz'",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/defaultParams/declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 16,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/defaultParams/expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "right": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 22,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 18,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 4,
+ 22,
+ ],
+ "type": "FunctionExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/defaultParams/method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 6,
+ 25,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 9,
+ 25,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 27,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 17,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/defaultParams/not-all-params.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 28,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 28,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 10,
+ 35,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 35,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 18,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 28,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/array-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "ok",
+ "range": Array [
+ 1,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "v",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 1,
+ 5,
+ ],
+ "type": "MemberExpression",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "20",
+ "type": "Literal",
+ "value": 20,
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "ok",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "v",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "20",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/array-to-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "right": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "ArrayExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/array-var-undefined.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "elements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "ArrayExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-constructor-params-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "consturctor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 45,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 45,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 36,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 25,
+ 45,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 47,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "consturctor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-constructor-params-defaults-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "consturctor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 49,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 49,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 32,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 39,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "raw": "4",
+ "type": "Literal",
+ "value": 4,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 40,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 25,
+ 49,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 51,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "consturctor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Numeric",
+ "value": "4",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 48,
+ 49,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-constructor-params-defaults-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "consturctor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 49,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 49,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 27,
+ 32,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 32,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 34,
+ 39,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 39,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "raw": "4",
+ "type": "Literal",
+ "value": 4,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 26,
+ 40,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 25,
+ 49,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 51,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "consturctor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Numeric",
+ "value": "4",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 48,
+ 49,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-constructor-params-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "consturctor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 45,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 45,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 26,
+ 36,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 25,
+ 45,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 47,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "consturctor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-method-params-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 37,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 37,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 28,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 17,
+ 37,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 39,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-method-params-defaults-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 41,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 41,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 31,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "raw": "4",
+ "type": "Literal",
+ "value": 4,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 32,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 17,
+ 41,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 43,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Numeric",
+ "value": "4",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-method-params-defaults-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 41,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 41,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 26,
+ 31,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 31,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 18,
+ 32,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 17,
+ 41,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 43,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/class-method-params-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 37,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 37,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 18,
+ 28,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 17,
+ 37,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 39,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 5,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 5,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 5,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-array-all.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 18,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "raw": "5",
+ "type": "Literal",
+ "value": 5,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 25,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 26,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 30,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "5",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-array-longform-nested-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 9,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 11,
+ 15,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 17,
+ 32,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 22,
+ 31,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 31,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 20,
+ 32,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 34,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 38,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 31,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-array-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 18,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 22,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-array-nested-all.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 21,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 22,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 23,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 27,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-array-nested-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 18,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 19,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 23,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-all.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 13,
+ 18,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 18,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "raw": "5",
+ "type": "Literal",
+ "value": 5,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 20,
+ 25,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 25,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 26,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 30,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "5",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-longform.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 6,
+ 15,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 17,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 21,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-longform-all.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 14,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 14,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 16,
+ 25,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 25,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 27,
+ 36,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 36,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 36,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 37,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 41,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 42,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 42,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 36,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-longform-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 9,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 11,
+ 20,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 20,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 22,
+ 26,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 27,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 31,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-mixed-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 8,
+ 17,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 17,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 21,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 25,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 18,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 22,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-nested-all.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 13,
+ 25,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 18,
+ 24,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 24,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 16,
+ 25,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 26,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 30,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/defaults-object-nested-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 13,
+ 21,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 22,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 26,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/destructured-array-catch.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "block": Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 34,
+ 41,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 30,
+ 42,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 46,
+ ],
+ "type": "BlockStatement",
+ },
+ "finalizer": null,
+ "handler": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 64,
+ 69,
+ ],
+ "type": "BlockStatement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "param": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "name": "stack",
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 55,
+ 62,
+ ],
+ "type": "ArrayPattern",
+ },
+ "range": Array [
+ 49,
+ 69,
+ ],
+ "type": "CatchClause",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 69,
+ ],
+ "type": "TryStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 71,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 71,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 71,
+ 72,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 72,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Keyword",
+ "value": "try",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 30,
+ 33,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 49,
+ 54,
+ ],
+ "type": "Keyword",
+ "value": "catch",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 54,
+ 55,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "type": "Identifier",
+ "value": "stack",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 61,
+ 62,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 64,
+ 65,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 68,
+ 69,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 70,
+ 71,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 71,
+ 72,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/destructured-object-catch.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "block": Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 34,
+ 41,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 30,
+ 42,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 46,
+ ],
+ "type": "BlockStatement",
+ },
+ "finalizer": null,
+ "handler": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 64,
+ 69,
+ ],
+ "type": "BlockStatement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "param": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "name": "stack",
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "name": "stack",
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 55,
+ 62,
+ ],
+ "type": "ObjectPattern",
+ },
+ "range": Array [
+ 49,
+ 69,
+ ],
+ "type": "CatchClause",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 69,
+ ],
+ "type": "TryStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 71,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 71,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 71,
+ 72,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 72,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Keyword",
+ "value": "try",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 30,
+ 33,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 49,
+ 54,
+ ],
+ "type": "Keyword",
+ "value": "catch",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 54,
+ 55,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "type": "Identifier",
+ "value": "stack",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 61,
+ 62,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 64,
+ 65,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 68,
+ 69,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 70,
+ 71,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 71,
+ 72,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/named-param.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "responseText",
+ "range": Array [
+ 3,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 3,
+ 21,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "text",
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 23,
+ ],
+ "type": "ObjectPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "name": "res",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "responseText",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "text",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "res",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/nested-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ null,
+ Object {
+ "elements": Array [
+ null,
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 15,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "raw": "4",
+ "type": "Literal",
+ "value": 4,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 29,
+ ],
+ "type": "ArrayExpression",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 30,
+ ],
+ "type": "ArrayExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 30,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Numeric",
+ "value": "2",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Numeric",
+ "value": "4",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/nested-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 9,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 11,
+ 22,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 16,
+ 20,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 14,
+ 22,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 24,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 29,
+ 35,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "raw": "\\"3\\"",
+ "type": "Literal",
+ "value": "3",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 50,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 37,
+ 50,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 50,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 42,
+ 48,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 45,
+ 48,
+ ],
+ "raw": "\\"b\\"",
+ "type": "Literal",
+ "value": "b",
+ },
+ },
+ ],
+ "range": Array [
+ 40,
+ 50,
+ ],
+ "type": "ObjectExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 27,
+ 52,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 52,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 53,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 53,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "String",
+ "value": "\\"3\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 43,
+ 44,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 45,
+ 48,
+ ],
+ "type": "String",
+ "value": "\\"b\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 50,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 49,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 49,
+ 50,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 52,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 52,
+ 53,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/object-var-named.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 9,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "properties": Array [],
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/object-var-undefined.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "properties": Array [],
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/param-defaults-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 18,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 19,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/param-defaults-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 12,
+ 18,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 18,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 11,
+ 19,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/param-defaults-object-nested.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 38,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 12,
+ 18,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 18,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 20,
+ 33,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 31,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 23,
+ 33,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 11,
+ 34,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 38,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 31,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/params-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 22,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 19,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/params-array-wrapped.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 20,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 1,
+ 23,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/params-multi-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 22,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/params-nested-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 27,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ null,
+ Object {
+ "elements": Array [
+ null,
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 22,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 23,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/params-nested-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 12,
+ 16,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 18,
+ 29,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 23,
+ 27,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 21,
+ 29,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 11,
+ 31,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/params-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 22,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 11,
+ 19,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/params-object-wrapped.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 12,
+ 20,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 1,
+ 23,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring/sparse-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ null,
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "array",
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "array",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/arrow-param-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/arrow-param-nested-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/arrow-param-nested-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 11,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/arrow-param-nested-object-named.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 2,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 8,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 10,
+ 20,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 13,
+ 19,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 12,
+ 20,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 21,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/arrow-param-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/param-defaults-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 8,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/param-defaults-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 8,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 8,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-arrowFunctions/param-defaults-object-nested.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 35,
+ ],
+ "type": "ArrayExpression",
+ },
+ "expression": true,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 8,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 8,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 10,
+ 23,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 15,
+ 21,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 21,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "type": "AssignmentPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 13,
+ 23,
+ ],
+ "type": "ObjectPattern",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 24,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "type": "ArrowFunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "=>",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-blockBindings/array-const-undefined.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "elements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "ArrayExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-blockBindings/array-let-undefined.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "elements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "ArrayExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "let",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-blockBindings/object-const-named.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 6,
+ 11,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "properties": Array [],
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-blockBindings/object-const-undefined.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "properties": Array [],
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-blockBindings/object-let-named.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 9,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "properties": Array [],
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "let",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-blockBindings/object-let-undefined.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "properties": Array [],
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "let",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-defaultParams/param-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 20,
+ ],
+ "right": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "ArrayExpression",
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-defaultParams/param-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "right": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 30,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "ObjectPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 26,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 20,
+ 25,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ },
+ ],
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 4,
+ 30,
+ ],
+ "type": "FunctionExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-defaultParams/param-object-short.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 2,
+ 21,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 21,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "ObjectPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 17,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 11,
+ 16,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ },
+ ],
+ "range": Array [
+ 10,
+ 17,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentPattern",
+ },
+ ],
+ "range": Array [
+ 3,
+ 21,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 22,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-forOf/loop.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "EmptyStatement",
+ },
+ "left": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ForOfStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "for",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "of",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/complex-destructured.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "ObjectPattern",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 15,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "d",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "d",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/destructured-array-literal.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 13,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 13,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "d",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "d",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/destructuring-param.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 30,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "ok",
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 25,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 25,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 26,
+ ],
+ "type": "ArrayPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "ok",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/multi-destructured.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 8,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/single-destructured.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "elements": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 5,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/var-complex-destructured.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 5,
+ 13,
+ ],
+ "type": "ObjectPattern",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 19,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 20,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "d",
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 24,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "d",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/var-destructured-array-literal.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 17,
+ ],
+ "type": "ArrayPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 17,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 18,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "d",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 22,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "d",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/var-multi-destructured.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 12,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 13,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 17,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/destructuring-and-spread/var-single-destructured.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "elements": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 9,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 10,
+ ],
+ "type": "ArrayPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalAsyncIteration/async-generators.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": true,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 16,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "async",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalAsyncIteration/async-iterator.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": true,
+ "body": Object {
+ "body": Array [
+ Object {
+ "await": true,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 59,
+ 67,
+ ],
+ "type": "BlockStatement",
+ },
+ "left": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "name": "item",
+ "range": Array [
+ 44,
+ 48,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 44,
+ 48,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 48,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 67,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "name": "items",
+ "range": Array [
+ 52,
+ 57,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ForOfStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 69,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 69,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 69,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "async",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Keyword",
+ "value": "for",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 36,
+ ],
+ "type": "Identifier",
+ "value": "await",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 43,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 44,
+ 48,
+ ],
+ "type": "Identifier",
+ "value": "item",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 49,
+ 51,
+ ],
+ "type": "Identifier",
+ "value": "of",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 52,
+ 57,
+ ],
+ "type": "Identifier",
+ "value": "items",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 57,
+ 58,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 59,
+ 60,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 66,
+ 67,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 68,
+ 69,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/arg-spread.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 19,
+ ],
+ "shorthand": true,
+ "type": "ExperimentalRestProperty",
+ },
+ ],
+ "range": Array [
+ 11,
+ 20,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/destructuring-assign-mirror.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 9,
+ ],
+ "type": "ExperimentalRestProperty",
+ },
+ ],
+ "range": Array [
+ 1,
+ 10,
+ ],
+ "type": "ObjectPattern",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 1,
+ 22,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "ExperimentalSpreadProperty",
+ },
+ ],
+ "range": Array [
+ 13,
+ 22,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/function-parameter-object-spread.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 20,
+ ],
+ "shorthand": true,
+ "type": "ExperimentalRestProperty",
+ },
+ ],
+ "range": Array [
+ 13,
+ 21,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/object-rest.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 16,
+ ],
+ "shorthand": true,
+ "type": "ExperimentalRestProperty",
+ },
+ ],
+ "range": Array [
+ 4,
+ 18,
+ ],
+ "type": "ObjectPattern",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 23,
+ 27,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 29,
+ 33,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 35,
+ 39,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 41,
+ 45,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "raw": "4",
+ "type": "Literal",
+ "value": 4,
+ },
+ },
+ ],
+ "range": Array [
+ 21,
+ 47,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 47,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 48,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 48,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "z",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Numeric",
+ "value": "2",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Numeric",
+ "value": "4",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 48,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/property-spread.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 42,
+ 50,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 47,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 56,
+ 59,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 56,
+ 64,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 61,
+ 64,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 73,
+ 76,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 8,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 77,
+ 80,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 73,
+ 80,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 70,
+ 80,
+ ],
+ "type": "ExperimentalSpreadProperty",
+ },
+ ],
+ "range": Array [
+ 36,
+ 82,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 82,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 83,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 83,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 47,
+ 50,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 56,
+ 59,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 59,
+ 60,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 61,
+ 64,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 64,
+ 65,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 70,
+ 73,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 73,
+ 76,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 76,
+ 77,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 77,
+ 80,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 81,
+ 82,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 82,
+ 83,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/shorthand-method-args.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "initialize",
+ "range": Array [
+ 7,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 7,
+ 104,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 51,
+ 104,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "someVar",
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "someVar",
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "name": "otherVar",
+ "range": Array [
+ 28,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 28,
+ 36,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "name": "otherVar",
+ "range": Array [
+ 28,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 2,
+ },
+ },
+ "name": "options",
+ "range": Array [
+ 41,
+ 48,
+ ],
+ "type": "Identifier",
+ },
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 48,
+ ],
+ "shorthand": true,
+ "type": "ExperimentalRestProperty",
+ },
+ ],
+ "range": Array [
+ 18,
+ 49,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 17,
+ 104,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 106,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 108,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 108,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 7,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "initialize",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "someVar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 36,
+ ],
+ "type": "Identifier",
+ "value": "otherVar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 41,
+ 48,
+ ],
+ "type": "Identifier",
+ "value": "options",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 48,
+ 49,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 49,
+ 50,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 103,
+ 104,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 105,
+ 106,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 106,
+ 107,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 107,
+ 108,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/shorthand-methods.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "initialize",
+ "range": Array [
+ 14,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 14,
+ 111,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 58,
+ 111,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "someVar",
+ "range": Array [
+ 26,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 26,
+ 33,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "someVar",
+ "range": Array [
+ 26,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "name": "otherVar",
+ "range": Array [
+ 35,
+ 43,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 35,
+ 43,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "name": "otherVar",
+ "range": Array [
+ 35,
+ 43,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 2,
+ },
+ },
+ "name": "options",
+ "range": Array [
+ 48,
+ 55,
+ ],
+ "type": "Identifier",
+ },
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 45,
+ 55,
+ ],
+ "shorthand": true,
+ "type": "ExperimentalRestProperty",
+ },
+ ],
+ "range": Array [
+ 25,
+ 56,
+ ],
+ "type": "ObjectPattern",
+ },
+ ],
+ "range": Array [
+ 24,
+ 111,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 8,
+ 113,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 113,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 114,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 114,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "initialize",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 33,
+ ],
+ "type": "Identifier",
+ "value": "someVar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 35,
+ 43,
+ ],
+ "type": "Identifier",
+ "value": "otherVar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 43,
+ 44,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 45,
+ 48,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 48,
+ 55,
+ ],
+ "type": "Identifier",
+ "value": "options",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 56,
+ 57,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 58,
+ 59,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 110,
+ 111,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 112,
+ 113,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 113,
+ 114,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/shorthand-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 63,
+ 66,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 60,
+ 66,
+ ],
+ "type": "ExperimentalSpreadProperty",
+ },
+ ],
+ "range": Array [
+ 36,
+ 68,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 68,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 69,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 69,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 54,
+ 55,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 60,
+ 63,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 63,
+ 66,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 67,
+ 68,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 68,
+ 69,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/single-spread.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 42,
+ 50,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 47,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 56,
+ 59,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 56,
+ 64,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 61,
+ 64,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 73,
+ 76,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 70,
+ 76,
+ ],
+ "type": "ExperimentalSpreadProperty",
+ },
+ ],
+ "range": Array [
+ 36,
+ 78,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 78,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 79,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 79,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 47,
+ 50,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 56,
+ 59,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 59,
+ 60,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 61,
+ 64,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 64,
+ 65,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 70,
+ 73,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 73,
+ 76,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 77,
+ 78,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 78,
+ 79,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/spread-trailing-comma.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 13,
+ ],
+ "type": "ExperimentalSpreadProperty",
+ },
+ ],
+ "range": Array [
+ 1,
+ 16,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/experimentalObjectRestSpread/two-spread.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 42,
+ 50,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 47,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 59,
+ 62,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 56,
+ 62,
+ ],
+ "type": "ExperimentalSpreadProperty",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 71,
+ 74,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 68,
+ 74,
+ ],
+ "type": "ExperimentalSpreadProperty",
+ },
+ ],
+ "range": Array [
+ 36,
+ 76,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 76,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 77,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 77,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 47,
+ 50,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 56,
+ 59,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 59,
+ 62,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 68,
+ 71,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 71,
+ 74,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 75,
+ 76,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 76,
+ 77,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/exponentiationOperators/exponential-operators.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "operator": "**",
+ "range": Array [
+ 8,
+ 14,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "operator": "**=",
+ "range": Array [
+ 16,
+ 23,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "raw": "4",
+ "type": "Literal",
+ "value": 4,
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Numeric",
+ "value": "2",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "**",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Numeric",
+ "value": "3",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "**=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Numeric",
+ "value": "4",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/forOf/for-of-with-function-initializer.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 62,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 61,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 61,
+ 62,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 60,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 1,
+ },
+ },
+ "name": "process",
+ "range": Array [
+ 53,
+ 60,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 63,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 53,
+ 63,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 64,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 53,
+ 64,
+ ],
+ "type": "ExpressionStatement",
+ },
+ "left": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "i",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "operator": "in",
+ "range": Array [
+ 33,
+ 41,
+ ],
+ "right": Object {
+ "elements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 41,
+ ],
+ "type": "ArrayExpression",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 41,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 43,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 13,
+ 43,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 43,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 43,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 64,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 64,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 51,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "name": "list",
+ "range": Array [
+ 47,
+ 51,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ForOfStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 64,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 64,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "for",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "i",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 21,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 32,
+ ],
+ "type": "Keyword",
+ "value": "return",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 38,
+ ],
+ "type": "Keyword",
+ "value": "in",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 46,
+ ],
+ "type": "Identifier",
+ "value": "of",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 51,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 51,
+ ],
+ "type": "Identifier",
+ "value": "list",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 60,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 53,
+ 60,
+ ],
+ "type": "Identifier",
+ "value": "process",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 61,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 60,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 60,
+ 61,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 62,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 61,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 61,
+ 62,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 63,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 62,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 64,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 63,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 63,
+ 64,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/forOf/for-of-with-var-and-braces.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "doSomething",
+ "range": Array [
+ 25,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 38,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 39,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 41,
+ ],
+ "type": "BlockStatement",
+ },
+ "left": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 41,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ForOfStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 41,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "for",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "of",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 36,
+ ],
+ "type": "Identifier",
+ "value": "doSomething",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/forOf/for-of-with-var-and-no-braces.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "doSomething",
+ "range": Array [
+ 23,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 36,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 37,
+ ],
+ "type": "ExpressionStatement",
+ },
+ "left": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ForOfStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "for",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "of",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 34,
+ ],
+ "type": "Identifier",
+ "value": "doSomething",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/anonymous-generator.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "v",
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "delegate": false,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 23,
+ ],
+ "type": "YieldExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 23,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 25,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "v",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/async-generator-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": true,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 27,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 27,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 1,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 1,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "async",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 7,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/async-generator-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 63,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": true,
+ "body": Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "argument": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 3,
+ },
+ },
+ "name": "g",
+ "range": Array [
+ 53,
+ 54,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 53,
+ 56,
+ ],
+ "type": "CallExpression",
+ },
+ "delegate": true,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 46,
+ 56,
+ ],
+ "type": "YieldExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 42,
+ 56,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 57,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 63,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 23,
+ 63,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 65,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 65,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 65,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "C",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "async",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 41,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 46,
+ 51,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 53,
+ 54,
+ ],
+ "type": "Identifier",
+ "value": "g",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 54,
+ 55,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 56,
+ 57,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 64,
+ 65,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/double-yield.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 30,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ "delegate": false,
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 30,
+ ],
+ "type": "YieldExpression",
+ },
+ "delegate": false,
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 30,
+ ],
+ "type": "YieldExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 30,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 32,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 32,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 27,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 30,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/empty-generator-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "t",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "t",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/generator-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "name": "v",
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "delegate": true,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 28,
+ ],
+ "type": "YieldExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 28,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 30,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "test",
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "test",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 25,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Identifier",
+ "value": "v",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/yield-delegation.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "v",
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "delegate": true,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 24,
+ ],
+ "type": "YieldExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 26,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "v",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/yield-without-value.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": null,
+ "delegate": false,
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "YieldExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 22,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 24,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 24,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/yield-without-value-in-call.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "argument": null,
+ "delegate": false,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "type": "YieldExpression",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "fn",
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 25,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 26,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 28,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 28,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "fn",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/generators/yield-without-value-no-semi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": null,
+ "delegate": false,
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "YieldExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": true,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 23,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 9,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "Keyword",
+ "value": "yield",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-array.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "elements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "type": "ArrayExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-class.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 25,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": null,
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 25,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "+",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Numeric",
+ "value": "2",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 29,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 15,
+ 29,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 23,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-named-class.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 30,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "Test",
+ "range": Array [
+ 21,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 30,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "Test",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-named-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 32,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 15,
+ 32,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 23,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-number.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "raw": "42",
+ "type": "Literal",
+ "value": 42,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "type": "Numeric",
+ "value": "42",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-object.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 17,
+ 23,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ },
+ ],
+ "range": Array [
+ 15,
+ 25,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-default-value.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-from-batch.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "type": "ExportAllDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-from-default.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 27,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "default",
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "default",
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 27,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-from-named-as-default.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 34,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "default",
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 22,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 28,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 34,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-from-named-as-specifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 30,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 18,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 30,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-from-named-as-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 39,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "default",
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 22,
+ ],
+ "type": "ExportSpecifier",
+ },
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 33,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 39,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-from-specifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 23,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 23,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-from-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ExportSpecifier",
+ },
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 25,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 16,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 7,
+ 25,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-as-default.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "source": null,
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "default",
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 22,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-as-specifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "source": null,
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 18,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-as-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "source": null,
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "default",
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 22,
+ ],
+ "type": "ExportSpecifier",
+ },
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 22,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-class.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "Test",
+ "range": Array [
+ 13,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 22,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "Test",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-empty.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-specifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "source": null,
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "source": null,
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ExportSpecifier",
+ },
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-named-specifiers-comma.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": null,
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "source": null,
+ "specifiers": Array [
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ExportSpecifier",
+ },
+ Object {
+ "exported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "ExportSpecifier",
+ },
+ ],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-var.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-var-anonymous-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 31,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 17,
+ 31,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 31,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 32,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 25,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/export-var-number.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 18,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 19,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "export",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-default.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "ImportDefaultSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 21,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-default-and-named-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "ImportDefaultSpecifier",
+ },
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-default-and-namespace-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 31,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "ImportDefaultSpecifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 12,
+ 20,
+ ],
+ "type": "ImportNamespaceSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 31,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-default-as.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 34,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "default",
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 22,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "default",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 28,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 34,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-jquery.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 22,
+ ],
+ "raw": "\\"jquery\\"",
+ "type": "Literal",
+ "value": "jquery",
+ },
+ "specifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "$",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "ImportDefaultSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "$",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 22,
+ ],
+ "type": "String",
+ "value": "\\"jquery\\"",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-module.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-named-as-specifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 30,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 18,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 30,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-named-as-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 35,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 18,
+ ],
+ "type": "ImportSpecifier",
+ },
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "xyz",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "xyz",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "xyz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 29,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 35,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-named-empty.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-named-specifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 23,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 23,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-named-specifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ImportSpecifier",
+ },
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-named-specifiers-comma.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 29,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "ImportSpecifier",
+ },
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 29,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-namespace-specifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 26,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "specifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 7,
+ 15,
+ ],
+ "type": "ImportNamespaceSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "*",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 26,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/modules/import-null-as-nil.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 33,
+ ],
+ "raw": "\\"bar\\"",
+ "type": "Literal",
+ "value": "bar",
+ },
+ "specifiers": Array [
+ Object {
+ "imported": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "null",
+ "range": Array [
+ 9,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "nil",
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 9,
+ 20,
+ ],
+ "type": "ImportSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "sourceType": "module",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "Keyword",
+ "value": "import",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 13,
+ ],
+ "type": "Null",
+ "value": "null",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "as",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "nil",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "from",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 33,
+ ],
+ "type": "String",
+ "value": "\\"bar\\"",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/newTarget/simple-new-target.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "meta": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "name": "new",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "target",
+ "range": Array [
+ 31,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 27,
+ 37,
+ ],
+ "type": "MetaProperty",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 37,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 38,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 40,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Keyword",
+ "value": "new",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 37,
+ ],
+ "type": "Identifier",
+ "value": "target",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/computed-addition-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "raw": "5",
+ "type": "Literal",
+ "value": 5,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "raw": "5",
+ "type": "Literal",
+ "value": 5,
+ },
+ "type": "BinaryExpression",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 26,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 23,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 8,
+ 28,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 28,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Numeric",
+ "value": "5",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "+",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Numeric",
+ "value": "5",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/computed-and-identifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 9,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 11,
+ 16,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "raw": "20",
+ "type": "Literal",
+ "value": 20,
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 17,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 16,
+ ],
+ "type": "Numeric",
+ "value": "20",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/computed-getter-and-setter.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "get",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 14,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 14,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "set",
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 16,
+ 29,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 29,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "v",
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 23,
+ 29,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 30,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 19,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "v",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/computed-string-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "raw": "\\"hey\\"",
+ "type": "Literal",
+ "value": "hey",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 26,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 23,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 8,
+ 28,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 28,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 20,
+ ],
+ "type": "String",
+ "value": "\\"hey\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 26,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/computed-variable-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 24,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 8,
+ 26,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 26,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/standalone-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 9,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 10,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 9,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/standalone-expression-with-addition.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 6,
+ ],
+ "raw": "\\"x\\"",
+ "type": "Literal",
+ "value": "x",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 3,
+ 12,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "raw": "\\"y\\"",
+ "type": "Literal",
+ "value": "y",
+ },
+ "type": "BinaryExpression",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 17,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "raw": "10",
+ "type": "Literal",
+ "value": 10,
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 18,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 6,
+ ],
+ "type": "String",
+ "value": "\\"x\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "+",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "String",
+ "value": "\\"y\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 17,
+ ],
+ "type": "Numeric",
+ "value": "10",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralComputedProperties/standalone-expression-with-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 2,
+ 20,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 7,
+ 20,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 1,
+ 21,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 15,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralDuplicateProperties/strict-duplicate-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "raw": "\\"use strict\\"",
+ "type": "Literal",
+ "value": "use strict",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 26,
+ 36,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 29,
+ 36,
+ ],
+ "raw": "'first'",
+ "type": "Literal",
+ "value": "first",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 39,
+ 50,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 42,
+ 50,
+ ],
+ "raw": "'second'",
+ "type": "Literal",
+ "value": "second",
+ },
+ },
+ ],
+ "range": Array [
+ 23,
+ 52,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 19,
+ 52,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 15,
+ 53,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 53,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "String",
+ "value": "\\"use strict\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 29,
+ 36,
+ ],
+ "type": "String",
+ "value": "'first'",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Identifier",
+ "value": "y",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 42,
+ 50,
+ ],
+ "type": "String",
+ "value": "'second'",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 52,
+ 53,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralDuplicateProperties/strict-duplicate-string-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "raw": "\\"use strict\\"",
+ "type": "Literal",
+ "value": "use strict",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "raw": "\\"y\\"",
+ "type": "Literal",
+ "value": "y",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 26,
+ 38,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 31,
+ 38,
+ ],
+ "raw": "\\"first\\"",
+ "type": "Literal",
+ "value": "first",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 41,
+ 44,
+ ],
+ "raw": "\\"y\\"",
+ "type": "Literal",
+ "value": "y",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 41,
+ 54,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 46,
+ 54,
+ ],
+ "raw": "\\"second\\"",
+ "type": "Literal",
+ "value": "second",
+ },
+ },
+ ],
+ "range": Array [
+ 23,
+ 56,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 19,
+ 56,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 15,
+ 57,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 57,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "String",
+ "value": "\\"use strict\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "String",
+ "value": "\\"y\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 31,
+ 38,
+ ],
+ "type": "String",
+ "value": "\\"first\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 41,
+ 44,
+ ],
+ "type": "String",
+ "value": "\\"y\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 46,
+ 54,
+ ],
+ "type": "String",
+ "value": "\\"second\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 56,
+ 57,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandMethods/method-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 14,
+ 47,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 37,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 30,
+ 41,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 47,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 17,
+ 47,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 8,
+ 49,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 49,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 50,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 50,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 30,
+ 36,
+ ],
+ "type": "Keyword",
+ "value": "return",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 37,
+ 40,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 48,
+ 49,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 49,
+ 50,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandMethods/simple-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "method",
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 10,
+ 26,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 16,
+ 26,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 28,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "method",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandMethods/simple-method-named-get.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 10,
+ 23,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 13,
+ 23,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 25,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandMethods/simple-method-named-set.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 10,
+ 23,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 23,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 13,
+ 23,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 25,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandMethods/simple-method-with-argument.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "method",
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 10,
+ 31,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 31,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "test",
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 16,
+ 31,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 33,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "method",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "Identifier",
+ "value": "test",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandMethods/simple-method-with-string-name.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 18,
+ ],
+ "raw": "\\"method\\"",
+ "type": "Literal",
+ "value": "method",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 10,
+ 28,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 28,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 18,
+ 28,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 4,
+ 30,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 18,
+ ],
+ "type": "String",
+ "value": "\\"method\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandMethods/string-name-method-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": true,
+ "range": Array [
+ 14,
+ 49,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 39,
+ 42,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 32,
+ 43,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 49,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 19,
+ 49,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "range": Array [
+ 8,
+ 51,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 51,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 52,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 52,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "type": "String",
+ "value": "\\"foo\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "Keyword",
+ "value": "return",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 39,
+ 42,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 48,
+ 49,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/objectLiteralShorthandProperties/shorthand-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "name": "get",
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 60,
+ 63,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 60,
+ 63,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "name": "set",
+ "range": Array [
+ 60,
+ 63,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 36,
+ 65,
+ ],
+ "type": "ObjectExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 65,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 66,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 66,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 42,
+ 45,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 51,
+ 54,
+ ],
+ "type": "Identifier",
+ "value": "get",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 54,
+ 55,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 60,
+ 63,
+ ],
+ "type": "Identifier",
+ "value": "set",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 64,
+ 65,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 65,
+ 66,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/octalLiterals/invalid.src 1`] = `"';' expected."`;
+
+exports[`ecmaFeatures fixtures/octalLiterals/lowercase.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "raw": "0o717",
+ "type": "Literal",
+ "value": 463,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Numeric",
+ "value": "0o717",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/octalLiterals/strict-uppercase.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "raw": "\\"use strict\\"",
+ "type": "Literal",
+ "value": "use strict",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "raw": "0O717",
+ "type": "Literal",
+ "value": 463,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 20,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "String",
+ "value": "\\"use strict\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "type": "Numeric",
+ "value": "0O717",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/octalLiterals/uppercase.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "raw": "0O717",
+ "type": "Literal",
+ "value": 463,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Numeric",
+ "value": "0O717",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/regex/regexp-simple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "raw": "/foo./",
+ "regex": Object {
+ "flags": "",
+ "pattern": "foo.",
+ },
+ "type": "Literal",
+ "value": Object {},
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 16,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 16,
+ ],
+ "regex": Object {
+ "flags": "",
+ "pattern": "foo.",
+ },
+ "type": "RegularExpression",
+ "value": "/foo./",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/restParams/basic-rest.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 22,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 18,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/restParams/class-constructor.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 41,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 41,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 29,
+ 32,
+ ],
+ "type": "Identifier",
+ },
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 32,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 25,
+ 41,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 43,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "constructor",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 32,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/restParams/class-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 33,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 33,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 24,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 17,
+ 33,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 35,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "A",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/restParams/func-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 8,
+ 26,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 26,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 16,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/restParams/func-expression-multi.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 28,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 24,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 8,
+ 28,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 28,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 16,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/restParams/single-rest.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 19,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 15,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "EmptyStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/spread/multi-function-call.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 11,
+ ],
+ "type": "SpreadElement",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/spread/not-final-param.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 9,
+ ],
+ "type": "SpreadElement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "func",
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "type": "Identifier",
+ "value": "func",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ",",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/spread/simple-function-call.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 8,
+ ],
+ "type": "SpreadElement",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/deeply-nested.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "quasi": Object {
+ "expressions": Array [
+ Object {
+ "expressions": Array [
+ Object {
+ "left": Object {
+ "expressions": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 30,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "deeply",
+ "raw": "deeply",
+ },
+ },
+ ],
+ "range": Array [
+ 22,
+ 30,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 22,
+ 35,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "properties": Array [],
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "type": "ObjectExpression",
+ },
+ "type": "BinaryExpression",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 22,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "nested ",
+ "raw": "nested ",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 42,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": " blah",
+ "raw": " blah",
+ },
+ },
+ ],
+ "range": Array [
+ 12,
+ 42,
+ ],
+ "type": "TemplateLiteral",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 12,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "hello ",
+ "raw": "hello ",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 44,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "",
+ "raw": "",
+ },
+ },
+ ],
+ "range": Array [
+ 3,
+ 44,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "range": Array [
+ 0,
+ 44,
+ ],
+ "tag": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "raw",
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "type": "TaggedTemplateExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 45,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 45,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "raw",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 12,
+ ],
+ "type": "Template",
+ "value": "\`hello \${",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 22,
+ ],
+ "type": "Template",
+ "value": "\`nested \${",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 30,
+ ],
+ "type": "Template",
+ "value": "\`deeply\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "+",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 42,
+ ],
+ "type": "Template",
+ "value": "} blah\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 44,
+ ],
+ "type": "Template",
+ "value": "}\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/escape-characters.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "ts",
+ "range": Array [
+ 4,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "expressions": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 39,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "\\\\n\\\\r\\\\b\\\\v\\\\t\\\\f\\\\
+\\\\
+",
+ "raw": "\\\\\\\\n\\\\\\\\r\\\\\\\\b\\\\\\\\v\\\\\\\\t\\\\\\\\f\\\\\\\\\\\\n\\\\\\\\\\\\r\\\\n",
+ },
+ },
+ ],
+ "range": Array [
+ 9,
+ 39,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 39,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "ts",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 39,
+ ],
+ "type": "Template",
+ "value": "\`\\\\\\\\n\\\\\\\\r\\\\\\\\b\\\\\\\\v\\\\\\\\t\\\\\\\\f\\\\\\\\\\\\n\\\\\\\\\\\\r\\\\n\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/expressions.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "raw": "5",
+ "type": "Literal",
+ "value": 5,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 9,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 25,
+ ],
+ "raw": "'Fred'",
+ "type": "Literal",
+ "value": "Fred",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 25,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 11,
+ 26,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "expression": Object {
+ "expressions": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 4,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 4,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 4,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 51,
+ 56,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "raw": "5",
+ "type": "Literal",
+ "value": 5,
+ },
+ "type": "BinaryExpression",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 28,
+ 37,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "Hello ",
+ "raw": "Hello ",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 38,
+ 51,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": ". a + 5 = ",
+ "raw": ". a + 5 = ",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 56,
+ 58,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "",
+ "raw": "",
+ },
+ },
+ ],
+ "range": Array [
+ 28,
+ 58,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 28,
+ 59,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 59,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Numeric",
+ "value": "5",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 25,
+ ],
+ "type": "String",
+ "value": "'Fred'",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 28,
+ 37,
+ ],
+ "type": "Template",
+ "value": "\`Hello \${",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 37,
+ 38,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 38,
+ 51,
+ ],
+ "type": "Template",
+ "value": "}. a + 5 = \${",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 53,
+ 54,
+ ],
+ "type": "Punctuator",
+ "value": "+",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Numeric",
+ "value": "5",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 56,
+ 58,
+ ],
+ "type": "Template",
+ "value": "}\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 58,
+ 59,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/multi-line-template-string.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "expressions": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 110,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "The last man on Earth
+ sat alone in a room.
+ There was
+ a knock
+ on the
+ door...",
+ "raw": "The last man on Earth
+ sat alone in a room.
+ There was
+ a knock
+ on the
+ door...",
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 110,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 111,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 111,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 110,
+ ],
+ "type": "Template",
+ "value": "\`The last man on Earth
+ sat alone in a room.
+ There was
+ a knock
+ on the
+ door...\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 110,
+ 111,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/simple-template-string.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "expressions": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "42",
+ "raw": "42",
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "type": "Template",
+ "value": "\`42\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/single-dollar-sign.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "ts",
+ "range": Array [
+ 4,
+ 6,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "expressions": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "$",
+ "raw": "$",
+ },
+ },
+ ],
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 12,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "var",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 6,
+ ],
+ "type": "Identifier",
+ "value": "ts",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Template",
+ "value": "\`$\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/tagged-no-placeholders.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "quasi": Object {
+ "expressions": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 8,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "foo",
+ "raw": "foo",
+ },
+ },
+ ],
+ "range": Array [
+ 3,
+ 8,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "tag": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "type": "TaggedTemplateExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 8,
+ ],
+ "type": "Template",
+ "value": "\`foo\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/templateStrings/tagged-template-string.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "name": "arguments",
+ "range": Array [
+ 30,
+ 39,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "callee": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 2,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 2,
+ },
+ },
+ "name": "console",
+ "range": Array [
+ 18,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "log",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 18,
+ 29,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 40,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 41,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 43,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "tag",
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 43,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "quasi": Object {
+ "expressions": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 4,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 4,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 71,
+ 72,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 4,
+ },
+ },
+ "quasis": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 47,
+ 55,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": "a is ",
+ "raw": "a is ",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 56,
+ 71,
+ ],
+ "tail": false,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": " while b is ",
+ "raw": " while b is ",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 72,
+ 75,
+ ],
+ "tail": true,
+ "type": "TemplateElement",
+ "value": Object {
+ "cooked": ".",
+ "raw": ".",
+ },
+ },
+ ],
+ "range": Array [
+ 47,
+ 75,
+ ],
+ "type": "TemplateLiteral",
+ },
+ "range": Array [
+ 44,
+ 75,
+ ],
+ "tag": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "name": "tag",
+ "range": Array [
+ 44,
+ 47,
+ ],
+ "type": "Identifier",
+ },
+ "type": "TaggedTemplateExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 44,
+ 76,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 76,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "Keyword",
+ "value": "function",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ "value": "tag",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 25,
+ ],
+ "type": "Identifier",
+ "value": "console",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ "value": "log",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 39,
+ ],
+ "type": "Identifier",
+ "value": "arguments",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 39,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 42,
+ 43,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 44,
+ 47,
+ ],
+ "type": "Identifier",
+ "value": "tag",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 47,
+ 55,
+ ],
+ "type": "Template",
+ "value": "\`a is \${",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 55,
+ 56,
+ ],
+ "type": "Identifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 56,
+ 71,
+ ],
+ "type": "Template",
+ "value": "} while b is \${",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 71,
+ 72,
+ ],
+ "type": "Identifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 72,
+ 75,
+ ],
+ "type": "Template",
+ "value": "}.\`",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 75,
+ 76,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/unicodeCodePointEscapes/basic-string-literal.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "raw": "\\"\\\\u{714E}\\\\u{8336}\\"",
+ "type": "Literal",
+ "value": "煎茶",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "String",
+ "value": "\\"\\\\u{714E}\\\\u{8336}\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`ecmaFeatures fixtures/unicodeCodePointEscapes/complex-string-literal.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "raw": "\\"\\\\u{20BB7}\\\\u{10FFFF}\\\\u{1}\\"",
+ "type": "Literal",
+ "value": "𠮷",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "String",
+ "value": "\\"\\\\u{20BB7}\\\\u{10FFFF}\\\\u{1}\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
diff --git a/tests/lib/__snapshots__/jsx.js.snap b/tests/lib/__snapshots__/jsx.js.snap
new file mode 100644
index 0000000..7ec2ae7
--- /dev/null
+++ b/tests/lib/__snapshots__/jsx.js.snap
@@ -0,0 +1,9529 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`JSX useJSXTextNode: false fixtures/attributes.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 46,
+ ],
+ "raw": "test",
+ "type": "Literal",
+ "value": "test",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 51,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 48,
+ 51,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 46,
+ 52,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 5,
+ 14,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "raw": "\\"baz\\"",
+ "type": "Literal",
+ "value": "baz",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "qux",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 15,
+ 24,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "quz",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "type": "JSXExpressionContainer",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "spread",
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 25,
+ 41,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "name": "rest",
+ "range": Array [
+ 36,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 41,
+ ],
+ "type": "JSXExpressionContainer",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 42,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 52,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 52,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 52,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "JSXText",
+ "value": "\\"baz\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "JSXIdentifier",
+ "value": "qux",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ "value": "quz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "type": "JSXIdentifier",
+ "value": "spread",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 40,
+ ],
+ "type": "Identifier",
+ "value": "rest",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 46,
+ ],
+ "type": "JSXText",
+ "value": "test",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 48,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 51,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 48,
+ 51,
+ ],
+ "type": "JSXIdentifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 51,
+ 52,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/embedded-comment.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 27,
+ ],
+ "type": "JSXEmptyExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 28,
+ ],
+ "type": "JSXExpressionContainer",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 28,
+ 32,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 32,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/embedded-conditional.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 3,
+ 24,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "expression": Object {
+ "alternate": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "d",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 18,
+ 23,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 18,
+ 23,
+ ],
+ "type": "JSXElement",
+ },
+ "consequent": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 10,
+ 15,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 10,
+ 15,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 23,
+ ],
+ "test": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ConditionalExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 24,
+ ],
+ "type": "JSXExpressionContainer",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "?",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "JSXIdentifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "JSXIdentifier",
+ "value": "d",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/embedded-invalid-js-identifier.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "br",
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "type": "JSXElement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 35,
+ ],
+ "raw": "7x invalid-js-identifier",
+ "type": "Literal",
+ "value": "7x invalid-js-identifier",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 37,
+ 40,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 35,
+ 41,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 41,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 42,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 42,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ "value": "br",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 35,
+ ],
+ "type": "JSXText",
+ "value": "7x invalid-js-identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 40,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/empty-placeholder.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 4,
+ ],
+ "type": "JSXEmptyExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 5,
+ ],
+ "type": "JSXExpressionContainer",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 5,
+ 9,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 10,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/escape-patterns.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 83,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 3,
+ 10,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "raw": "\\" \\"",
+ "type": "Literal",
+ "value": " ",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "type": "JSXExpressionContainer",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 11,
+ 16,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "raw": "\\" \\"",
+ "type": "Literal",
+ "value": " ",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "d",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 17,
+ 26,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "raw": "\\"&\\"",
+ "type": "Literal",
+ "value": "&",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 27,
+ 43,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 43,
+ ],
+ "raw": "\\"id=1&group=2\\"",
+ "type": "Literal",
+ "value": "id=1&group=2",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 44,
+ 59,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 59,
+ ],
+ "raw": "\\"\\"",
+ "type": "Literal",
+ "value": "",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 71,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 60,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 61,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 60,
+ "line": 1,
+ },
+ },
+ "name": "g",
+ "range": Array [
+ 60,
+ 61,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 60,
+ 71,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 71,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 62,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 62,
+ 71,
+ ],
+ "raw": "\\"{*;\\"",
+ "type": "Literal",
+ "value": "{*;",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 80,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 72,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 73,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 72,
+ "line": 1,
+ },
+ },
+ "name": "h",
+ "range": Array [
+ 72,
+ 73,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 72,
+ 80,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 80,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 74,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 74,
+ 80,
+ ],
+ "raw": "\\"\\"",
+ "type": "Literal",
+ "value": "",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 83,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 83,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 83,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 84,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 84,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 84,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 84,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "String",
+ "value": "\\" \\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "JSXIdentifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "JSXText",
+ "value": "\\" \\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "JSXIdentifier",
+ "value": "d",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 26,
+ ],
+ "type": "JSXText",
+ "value": "\\"&\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "JSXIdentifier",
+ "value": "e",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 43,
+ ],
+ "type": "JSXText",
+ "value": "\\"id=1&group=2\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "JSXIdentifier",
+ "value": "f",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 59,
+ ],
+ "type": "JSXText",
+ "value": "\\"\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 61,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 60,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 60,
+ 61,
+ ],
+ "type": "JSXIdentifier",
+ "value": "g",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 62,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 61,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 61,
+ 62,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 71,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 62,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 62,
+ 71,
+ ],
+ "type": "JSXText",
+ "value": "\\"{*;\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 73,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 72,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 72,
+ 73,
+ ],
+ "type": "JSXIdentifier",
+ "value": "h",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 74,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 73,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 73,
+ 74,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 80,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 74,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 74,
+ 80,
+ ],
+ "type": "JSXText",
+ "value": "\\"\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 82,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 81,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 81,
+ 82,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 83,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 82,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 82,
+ 83,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 84,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 83,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 83,
+ 84,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-attribute.src 1`] = `"'{' expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-attribute-missing-equals.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-broken-tag.src 1`] = `"Unterminated string literal."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-computed-end-tag-name.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-computed-string-end-tag-name.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-embedded-expression.src 1`] = `"'}' expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-leading-dot-tag-name.src 1`] = `"Expression expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-matching-placeholder-in-closing-tag.src 1`] = `"'>' expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-mismatched-closing-tag.src 1`] = `"Expected corresponding JSX closing tag for 'a'."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-mismatched-closing-tags.src 1`] = `"JSX element 'a' has no corresponding closing tag."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-mismatched-dot-tag-name.src 1`] = `"Expected corresponding JSX closing tag for 'a.b.c'."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-mismatched-namespace-tag.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-missing-closing-tag.src 1`] = `"JSX element 'a' has no corresponding closing tag."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-missing-closing-tag-attribute-placeholder.src 1`] = `"JSX element 'a' has no corresponding closing tag."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-missing-namespace-name.src 1`] = `"Expression expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-missing-namespace-value.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-missing-spread-operator.src 1`] = `"'...' expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-namespace-name-with-docts.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-no-common-parent.src 1`] = `"JSX expressions must have one parent element."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-no-common-parent-with-comment.src 1`] = `"JSX expressions must have one parent element."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-no-tag-name.src 1`] = `"Declaration or statement expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-placeholder-in-closing-tag.src 1`] = `"'>' expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-trailing-dot-tag-name.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/invalid-unexpected-comma.src 1`] = `"Identifier expected."`;
+
+exports[`JSX useJSXTextNode: false fixtures/japanese-characters.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "日本語",
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "日本語",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "日本語",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ "value": "日本語",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/less-than-operator.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 2,
+ 5,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 1,
+ 8,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 1,
+ 8,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "operator": "<",
+ "range": Array [
+ 0,
+ 13,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "(",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 5,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ")",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "x",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/member-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/member-expression-this.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "this",
+ "range": Array [
+ 1,
+ 5,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "state",
+ "range": Array [
+ 6,
+ 11,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 1,
+ 11,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "Component",
+ "range": Array [
+ 12,
+ 21,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 1,
+ 21,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "this",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 11,
+ ],
+ "type": "JSXIdentifier",
+ "value": "state",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 21,
+ ],
+ "type": "JSXIdentifier",
+ "value": "Component",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/multiple-blank-spaces.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 7,
+ ],
+ "raw": " ",
+ "type": "Literal",
+ "value": " ",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 7,
+ 11,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 7,
+ ],
+ "type": "JSXText",
+ "value": " ",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/newslines-and-entities.src 1`] = `"Invalid character."`;
+
+exports[`JSX useJSXTextNode: false fixtures/self-closing-tag.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 6,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/self-closing-tag-inside-tag.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "raw": "
+ ",
+ "type": "Literal",
+ "value": "
+ ",
+ },
+ Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 10,
+ 17,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 10,
+ 17,
+ ],
+ "type": "JSXElement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 0,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "raw": "
+",
+ "type": "Literal",
+ "value": "
+",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 18,
+ 24,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "type": "JSXText",
+ "value": "
+ ",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "JSXIdentifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 0,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "JSXText",
+ "value": "
+",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/self-closing-tag-with-newline.src 1`] = `"Invalid character."`;
+
+exports[`JSX useJSXTextNode: false fixtures/spread-operator-attribute-and-regular-attribute.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "props",
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 15,
+ ],
+ "type": "JSXSpreadAttribute",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "post",
+ "range": Array [
+ 16,
+ 20,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 16,
+ 32,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 32,
+ ],
+ "raw": "\\"attribute\\"",
+ "type": "Literal",
+ "value": "attribute",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "props",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 20,
+ ],
+ "type": "JSXIdentifier",
+ "value": "post",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 32,
+ ],
+ "type": "JSXText",
+ "value": "\\"attribute\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 35,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/spread-operator-attributes.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "props",
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 15,
+ ],
+ "type": "JSXSpreadAttribute",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 18,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 19,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "props",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/tag-names-with-dots.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 7,
+ 10,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 11,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 12,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/tag-names-with-multi-dots.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "range": Array [
+ 7,
+ 15,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 1,
+ 6,
+ ],
+ "type": "JSXMemberExpression",
+ },
+ "range": Array [
+ 0,
+ 7,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 16,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 2,
+ 3,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 6,
+ ],
+ "type": "JSXIdentifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "Punctuator",
+ "value": ".",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "JSXIdentifier",
+ "value": "c",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/test-content.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 18,
+ ],
+ "raw": "@test content",
+ "type": "Literal",
+ "value": "@test content",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 18,
+ 24,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 18,
+ ],
+ "type": "JSXText",
+ "value": "@test content",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/trailing-spread-operator-attribute.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 49,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 49,
+ 52,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 47,
+ 53,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "pre",
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 5,
+ 18,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "raw": "\\"leading\\"",
+ "type": "Literal",
+ "value": "leading",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "pre2",
+ "range": Array [
+ 19,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 19,
+ 35,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 35,
+ ],
+ "raw": "\\"attribute\\"",
+ "type": "Literal",
+ "value": "attribute",
+ },
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "name": "props",
+ "range": Array [
+ 40,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 46,
+ ],
+ "type": "JSXSpreadAttribute",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 53,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 54,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 54,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "JSXIdentifier",
+ "value": "pre",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "type": "JSXText",
+ "value": "\\"leading\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ "value": "pre2",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 35,
+ ],
+ "type": "JSXText",
+ "value": "\\"attribute\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 40,
+ ],
+ "type": "Punctuator",
+ "value": "...",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 40,
+ 45,
+ ],
+ "type": "Identifier",
+ "value": "props",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Punctuator",
+ "value": "}",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 46,
+ 47,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 48,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 48,
+ 49,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 52,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 49,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 49,
+ 52,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 52,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 52,
+ 53,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 53,
+ 54,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: false fixtures/unknown-escape-pattern.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 3,
+ 20,
+ ],
+ "type": "JSXAttribute",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 20,
+ ],
+ "raw": "\\"¬anentity;\\"",
+ "type": "Literal",
+ "value": "¬anentity;",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "JSXIdentifier",
+ "value": "a",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 3,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "b",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 20,
+ ],
+ "type": "JSXText",
+ "value": "\\"¬anentity;\\"",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 23,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: true fixtures/self-closing-tag-inside-tag.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "raw": "
+ ",
+ "type": "JSXText",
+ "value": "
+ ",
+ },
+ Object {
+ "children": Array [],
+ "closingElement": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 10,
+ 17,
+ ],
+ "selfClosing": true,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 10,
+ 17,
+ ],
+ "type": "JSXElement",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 0,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "raw": "
+",
+ "type": "JSXText",
+ "value": "
+",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 18,
+ 24,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 10,
+ ],
+ "type": "JSXText",
+ "value": "
+ ",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "JSXIdentifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 0,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "JSXText",
+ "value": "
+",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ ],
+ "type": "Program",
+}
+`;
+
+exports[`JSX useJSXTextNode: true fixtures/test-content.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "children": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 18,
+ ],
+ "raw": "@test content",
+ "type": "JSXText",
+ "value": "@test content",
+ },
+ ],
+ "closingElement": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 18,
+ 24,
+ ],
+ "type": "JSXClosingElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "openingElement": Object {
+ "attributes": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "div",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "selfClosing": false,
+ "type": "JSXOpeningElement",
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "JSXElement",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 25,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 1,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 18,
+ ],
+ "type": "JSXText",
+ "value": "@test content",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Punctuator",
+ "value": "<",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Punctuator",
+ "value": "/",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "JSXIdentifier",
+ "value": "div",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ">",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
diff --git a/tests/lib/__snapshots__/parse.js.snap b/tests/lib/__snapshots__/parse.js.snap
new file mode 100644
index 0000000..ae6a9a3
--- /dev/null
+++ b/tests/lib/__snapshots__/parse.js.snap
@@ -0,0 +1,190 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`parse() general output tokens, comments, locs, and ranges when called with those options 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 13,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "comments": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Keyword",
+ "value": "let",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 9,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ ],
+ "type": "Program",
+}
+`;
diff --git a/tests/lib/__snapshots__/typescript.js.snap b/tests/lib/__snapshots__/typescript.js.snap
new file mode 100644
index 0000000..a079b24
--- /dev/null
+++ b/tests/lib/__snapshots__/typescript.js.snap
@@ -0,0 +1,26518 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`typescript fixtures/basics/abstract-class-with-abstract-constructor.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 43,
+ 51,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 43,
+ 66,
+ ],
+ "static": false,
+ "type": "TSAbstractMethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 63,
+ 66,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 68,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "AbstractSocket",
+ "range": Array [
+ 22,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 68,
+ ],
+ "superClass": null,
+ "type": "TSAbstractClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 68,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 68,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/abstract-class-with-abstract-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "name": "createSocket",
+ "range": Array [
+ 52,
+ 64,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 43,
+ 84,
+ ],
+ "static": false,
+ "type": "TSAbstractMethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 64,
+ 84,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 68,
+ 83,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 68,
+ 83,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "name": "Promise",
+ "range": Array [
+ 68,
+ 75,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 76,
+ 82,
+ ],
+ "type": "TSStringKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 76,
+ 82,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 75,
+ 83,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ },
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 86,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "AbstractSocket",
+ "range": Array [
+ 22,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 86,
+ ],
+ "superClass": null,
+ "type": "TSAbstractClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 86,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 86,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/abstract-class-with-abstract-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 38,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSAbstractClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 3,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 52,
+ 55,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 43,
+ 60,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSAbstractClassProperty",
+ "typeAnnotation": null,
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 58,
+ 59,
+ ],
+ "raw": "3",
+ "type": "Literal",
+ "value": 3,
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 62,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 62,
+ ],
+ "superClass": null,
+ "type": "TSAbstractClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 62,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/abstract-class-with-abstract-readonly-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": "public",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 48,
+ 51,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 63,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSAbstractClassProperty",
+ "typeAnnotation": null,
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 54,
+ 62,
+ ],
+ "raw": "'string'",
+ "type": "Literal",
+ "value": "string",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 65,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 65,
+ ],
+ "superClass": null,
+ "type": "TSAbstractClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 65,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/abstract-class-with-optional-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "createSocket",
+ "optional": true,
+ "range": Array [
+ 43,
+ 55,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 43,
+ 76,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 56,
+ 76,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 60,
+ 75,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 60,
+ 75,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "name": "Promise",
+ "range": Array [
+ 60,
+ 67,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 68,
+ 74,
+ ],
+ "type": "TSStringKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 68,
+ 74,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 67,
+ 75,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ },
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 78,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "AbstractSocket",
+ "range": Array [
+ 22,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 78,
+ ],
+ "superClass": null,
+ "type": "TSAbstractClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 78,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 78,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/abstract-interface.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "abstract": true,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "I",
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 31,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/arrow-function-with-type-parameters.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 31,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 33,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 7,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ "type": "ArrowFunctionExpression",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 1,
+ 2,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 33,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/async-function-expression.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "async": true,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 26,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "test",
+ "range": Array [
+ 16,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 1,
+ 26,
+ ],
+ "type": "FunctionExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/async-function-with-var-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": true,
+ "body": Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 43,
+ ],
+ "raw": "'foo'",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 43,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 44,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 53,
+ 56,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 59,
+ 64,
+ ],
+ "raw": "'bar'",
+ "type": "Literal",
+ "value": "bar",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 53,
+ 64,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 49,
+ 65,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 4,
+ },
+ },
+ "name": "fooBar",
+ "range": Array [
+ 76,
+ 82,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 85,
+ 93,
+ ],
+ "raw": "'fooBar'",
+ "type": "Literal",
+ "value": "fooBar",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 76,
+ 93,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 70,
+ 94,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 96,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "test",
+ "range": Array [
+ 15,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 96,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 96,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-accessibility-modifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": "private",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 35,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 34,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 34,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "value": null,
+ },
+ Object {
+ "accessibility": "public",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 3,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 52,
+ 55,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 38,
+ 65,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "ClassProperty",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 58,
+ 64,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 58,
+ 64,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ "value": null,
+ },
+ Object {
+ "accessibility": "public",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 4,
+ },
+ },
+ "name": "getBar",
+ "range": Array [
+ 75,
+ 81,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 68,
+ 111,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 5,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 98,
+ 102,
+ ],
+ "type": "ThisExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 5,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 103,
+ 106,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 98,
+ 106,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 91,
+ 107,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 85,
+ 111,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 4,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 82,
+ 111,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": "protected",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 7,
+ },
+ },
+ "name": "setBar",
+ "range": Array [
+ 124,
+ 130,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 114,
+ 171,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 152,
+ 156,
+ ],
+ "type": "ThisExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 8,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 157,
+ 160,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 152,
+ 160,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 152,
+ 166,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 8,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 163,
+ 166,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 152,
+ 167,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 146,
+ 171,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 7,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 7,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 132,
+ 135,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 138,
+ 144,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 138,
+ 144,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 131,
+ 171,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 173,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 173,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 173,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-export-parameter-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 16,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 54,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 46,
+ 54,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "accessibility": null,
+ "decorators": Array [],
+ "export": true,
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 44,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 44,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 28,
+ 44,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ ],
+ "range": Array [
+ 27,
+ 54,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 56,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-extends-generic.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 32,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "superTypeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "B",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-extends-generic-multiple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 41,
+ 45,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 45,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 31,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ "superTypeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "name": "D",
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 38,
+ 39,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 34,
+ 40,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "B",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 10,
+ 21,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 9,
+ 22,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 45,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-generic-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "getBar",
+ "range": Array [
+ 14,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 28,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 28,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "type": "FunctionExpression",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 30,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-generic-method-default.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "getBar",
+ "range": Array [
+ 14,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 34,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 34,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 29,
+ 34,
+ ],
+ "type": "FunctionExpression",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "default": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 28,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 25,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 21,
+ 28,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 20,
+ 29,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 36,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-implements.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 29,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "ClassImplements",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-implements-generic.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 32,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "ClassImplements",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "S",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-implements-generic-multiple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 35,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "ClassImplements",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "S",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 24,
+ 30,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-mixin.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 79,
+ 82,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": null,
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 60,
+ 82,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "name": "Base",
+ "range": Array [
+ 74,
+ 78,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ClassExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 53,
+ 82,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 84,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "M",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 1,
+ },
+ },
+ "name": "Base",
+ "range": Array [
+ 38,
+ 42,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 84,
+ ],
+ "type": "FunctionDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 36,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 36,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "Constructor",
+ "range": Array [
+ 21,
+ 32,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "members": Array [],
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "type": "TSTypeLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 32,
+ 36,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 11,
+ 36,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 10,
+ 37,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 125,
+ 128,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 5,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 92,
+ 93,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 5,
+ },
+ },
+ "name": "I",
+ "range": Array [
+ 123,
+ 124,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 123,
+ 124,
+ ],
+ "type": "ClassImplements",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 86,
+ 128,
+ ],
+ "superClass": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 5,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 109,
+ 110,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 5,
+ },
+ },
+ "name": "M",
+ "range": Array [
+ 102,
+ 103,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 102,
+ 111,
+ ],
+ "type": "CallExpression",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 104,
+ 107,
+ ],
+ "type": "TSAnyKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 104,
+ 107,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 103,
+ 108,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 138,
+ 141,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 7,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 136,
+ 137,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 130,
+ 141,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 154,
+ 157,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 8,
+ },
+ },
+ "name": "I",
+ "range": Array [
+ 152,
+ 153,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 142,
+ 157,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 9,
+ },
+ },
+ "name": "Constructor",
+ "range": Array [
+ 163,
+ 174,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 9,
+ },
+ },
+ "parameters": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 9,
+ },
+ },
+ "name": "args",
+ "range": Array [
+ 188,
+ 192,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 194,
+ 199,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "elementType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 194,
+ 197,
+ ],
+ "type": "TSAnyKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 194,
+ 199,
+ ],
+ "type": "TSArrayType",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 185,
+ 199,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 180,
+ 205,
+ ],
+ "type": "TSConstructorType",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 204,
+ 205,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 204,
+ 205,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 46,
+ "line": 9,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 204,
+ 205,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ "typeParameters": null,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 163,
+ 206,
+ ],
+ "type": "VariableDeclarator",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 9,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 9,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 175,
+ 176,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 174,
+ 177,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "kind": "type",
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 158,
+ 206,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 206,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-optional-computed-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": "private",
+ "computed": true,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "raw": "'foo'",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 14,
+ 43,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "name": "undefined",
+ "range": Array [
+ 33,
+ 42,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 45,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 45,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 45,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-optional-methods.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "optional": true,
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 21,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "optional": true,
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 24,
+ 39,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 28,
+ 39,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "type": "FunctionExpression",
+ },
+ },
+ Object {
+ "accessibility": "private",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 4,
+ },
+ },
+ "name": "baz",
+ "optional": true,
+ "range": Array [
+ 50,
+ 53,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 42,
+ 65,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 4,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 54,
+ 65,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 58,
+ 64,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 58,
+ 64,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 67,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 67,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 67,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-optional-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "optional": true,
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 19,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "optional": true,
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 22,
+ 36,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 29,
+ 35,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 29,
+ 35,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "value": null,
+ },
+ Object {
+ "accessibility": "private",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 4,
+ },
+ },
+ "name": "baz",
+ "optional": true,
+ "range": Array [
+ 47,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 39,
+ 61,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 54,
+ 60,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 54,
+ 60,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "value": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 63,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 63,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 63,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-optional-property-undefined.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": "private",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "optional": true,
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 12,
+ 37,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "undefined",
+ "range": Array [
+ 27,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 39,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-private-parameter-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 201,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 57,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 199,
+ 201,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "accessibility": "private",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 2,
+ },
+ },
+ "name": "firstName",
+ "range": Array [
+ 34,
+ 43,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 45,
+ 51,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 45,
+ 51,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 26,
+ 51,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "private",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 3,
+ },
+ },
+ "name": "lastName",
+ "range": Array [
+ 84,
+ 92,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 94,
+ 100,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 94,
+ 100,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 67,
+ 100,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "private",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 4,
+ },
+ },
+ "parameter": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 4,
+ },
+ },
+ "name": "age",
+ "range": Array [
+ 124,
+ 127,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 129,
+ 135,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 129,
+ 135,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 116,
+ 140,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 138,
+ 140,
+ ],
+ "raw": "30",
+ "type": "Literal",
+ "value": 30,
+ },
+ "type": "AssignmentPattern",
+ },
+ "range": Array [
+ 116,
+ 140,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "private",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "parameter": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 5,
+ },
+ },
+ "name": "student",
+ "range": Array [
+ 173,
+ 180,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 182,
+ 189,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 182,
+ 189,
+ ],
+ "type": "TSBooleanKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 156,
+ 197,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 50,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 192,
+ 197,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ "type": "AssignmentPattern",
+ },
+ "range": Array [
+ 156,
+ 197,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ ],
+ "range": Array [
+ 25,
+ 201,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 203,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 203,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 203,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-protected-parameter-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 61,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 209,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 61,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 59,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 207,
+ 209,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 61,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "accessibility": "protected",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "name": "firstName",
+ "range": Array [
+ 36,
+ 45,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 47,
+ 53,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 47,
+ 53,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 26,
+ 53,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "protected",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 3,
+ },
+ },
+ "name": "lastName",
+ "range": Array [
+ 88,
+ 96,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 98,
+ 104,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 98,
+ 104,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 69,
+ 104,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "protected",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 4,
+ },
+ },
+ "parameter": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 4,
+ },
+ },
+ "name": "age",
+ "range": Array [
+ 130,
+ 133,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 135,
+ 141,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 135,
+ 141,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 120,
+ 146,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 38,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 144,
+ 146,
+ ],
+ "raw": "30",
+ "type": "Literal",
+ "value": 30,
+ },
+ "type": "AssignmentPattern",
+ },
+ "range": Array [
+ 120,
+ 146,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "protected",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "parameter": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 5,
+ },
+ },
+ "name": "student",
+ "range": Array [
+ 181,
+ 188,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 190,
+ 197,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 190,
+ 197,
+ ],
+ "type": "TSBooleanKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 162,
+ 205,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 52,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 200,
+ 205,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ "type": "AssignmentPattern",
+ },
+ "range": Array [
+ 162,
+ 205,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ ],
+ "range": Array [
+ 25,
+ 209,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 211,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 211,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 211,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-public-parameter-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 197,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 56,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 195,
+ 197,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "accessibility": "public",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 2,
+ },
+ },
+ "name": "firstName",
+ "range": Array [
+ 33,
+ 42,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 44,
+ 50,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 44,
+ 50,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 26,
+ 50,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "public",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 3,
+ },
+ },
+ "name": "lastName",
+ "range": Array [
+ 82,
+ 90,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 92,
+ 98,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 92,
+ 98,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 66,
+ 98,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "public",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 4,
+ },
+ },
+ "parameter": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 4,
+ },
+ },
+ "name": "age",
+ "range": Array [
+ 121,
+ 124,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 126,
+ 132,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 126,
+ 132,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 114,
+ 137,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 135,
+ 137,
+ ],
+ "raw": "30",
+ "type": "Literal",
+ "value": 30,
+ },
+ "type": "AssignmentPattern",
+ },
+ "range": Array [
+ 114,
+ 137,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "public",
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "parameter": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 5,
+ },
+ },
+ "name": "student",
+ "range": Array [
+ 169,
+ 176,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 178,
+ 185,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 178,
+ 185,
+ ],
+ "type": "TSBooleanKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 153,
+ 193,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 54,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 49,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 188,
+ 193,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ "type": "AssignmentPattern",
+ },
+ "range": Array [
+ 153,
+ 193,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ ],
+ "range": Array [
+ 25,
+ 197,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 199,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 199,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 199,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-readonly-parameter-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 107,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 105,
+ 107,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "accessibility": null,
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "name": "firstName",
+ "range": Array [
+ 35,
+ 44,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 46,
+ 52,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 46,
+ 52,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 26,
+ 52,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": null,
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "parameter": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 3,
+ },
+ },
+ "name": "lastName",
+ "range": Array [
+ 77,
+ 85,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 87,
+ 93,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 87,
+ 93,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 68,
+ 103,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 49,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 96,
+ 103,
+ ],
+ "raw": "'Smith'",
+ "type": "Literal",
+ "value": "Smith",
+ },
+ "type": "AssignmentPattern",
+ },
+ "range": Array [
+ 68,
+ 103,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ ],
+ "range": Array [
+ 25,
+ 107,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 109,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 109,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 109,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-readonly-property.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": "public",
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 47,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 46,
+ ],
+ "raw": "'string'",
+ "type": "Literal",
+ "value": "string",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 49,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-static-parameter-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 16,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 54,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 46,
+ 54,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "accessibility": null,
+ "decorators": Array [],
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 44,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 38,
+ 44,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "range": Array [
+ 28,
+ 44,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "TSParameterProperty",
+ },
+ ],
+ "range": Array [
+ 27,
+ 54,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 56,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-type-parameter.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 17,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 17,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-type-parameter-default.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 19,
+ 23,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "default": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 10,
+ 17,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 9,
+ 18,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 23,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/class-with-type-parameter-underscore.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 15,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "name": "__P",
+ "range": Array [
+ 8,
+ 11,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/declare-class-with-optional-method.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "optional": true,
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 36,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 28,
+ 36,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 35,
+ ],
+ "type": "TSAnyKeyword",
+ },
+ },
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 38,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 38,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 38,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/declare-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 17,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 32,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 32,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 42,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 41,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 41,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "type": "DeclareFunction",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 42,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/export-default-class-with-generic.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 28,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": null,
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 28,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 28,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/export-default-class-with-multiple-generics.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 31,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": null,
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 31,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "TypeParameter",
+ },
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "name": "U",
+ "range": Array [
+ 24,
+ 25,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 20,
+ 26,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 31,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/export-named-class-with-generic.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 24,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 24,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 16,
+ 19,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/export-named-class-with-multiple-generics.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 27,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 27,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "TypeParameter",
+ },
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "U",
+ "range": Array [
+ 20,
+ 21,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 16,
+ 22,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/export-type-alias-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "TestAlias",
+ "range": Array [
+ 12,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 39,
+ ],
+ "type": "TSUnionType",
+ "types": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 24,
+ 30,
+ ],
+ "type": "TSStringKeyword",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 39,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ ],
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 40,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "type",
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 40,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/export-type-class-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "TestClassProps",
+ "range": Array [
+ 12,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "members": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "count",
+ "range": Array [
+ 35,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 35,
+ 48,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 48,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 48,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 29,
+ 50,
+ ],
+ "type": "TSTypeLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 51,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "type",
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 51,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/export-type-function-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "TestCallback",
+ "range": Array [
+ 12,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "parameters": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 37,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 37,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 27,
+ 46,
+ ],
+ "type": "TSFunctionType",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 46,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 42,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 42,
+ 46,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ "typeParameters": null,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 47,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "type",
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 47,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 47,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 47,
+ ],
+ "sourceType": "module",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-await.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": true,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "name": "future",
+ "range": Array [
+ 40,
+ 46,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 46,
+ ],
+ "type": "AwaitExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 47,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 49,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "hope",
+ "range": Array [
+ 15,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "name": "future",
+ "range": Array [
+ 20,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-object-type-with-optional-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 47,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 47,
+ 51,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 13,
+ 23,
+ ],
+ "type": "ObjectPattern",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 45,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "members": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 26,
+ 39,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 40,
+ 43,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 1,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 40,
+ 44,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": null,
+ },
+ ],
+ "range": Array [
+ 25,
+ 45,
+ ],
+ "type": "TSTypeLiteral",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-object-type-without-annotation.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 45,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 45,
+ 49,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ },
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "shorthand": true,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ "range": Array [
+ 13,
+ 23,
+ ],
+ "type": "ObjectPattern",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 43,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "members": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 26,
+ 38,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 37,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 31,
+ 37,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 39,
+ 42,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 39,
+ 42,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": null,
+ },
+ ],
+ "range": Array [
+ 25,
+ 43,
+ ],
+ "type": "TSTypeLiteral",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-type-parameters.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 38,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 40,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 17,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 21,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ "type": "FunctionDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 40,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-type-parameters-that-have-comments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 35,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "compare",
+ "range": Array [
+ 9,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "type": "FunctionDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 16,
+ 30,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 35,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-type-parameters-with-constraint.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 47,
+ 48,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 40,
+ 49,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 51,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 28,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 32,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ "type": "FunctionDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 23,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "members": Array [],
+ "range": Array [
+ 21,
+ 23,
+ ],
+ "type": "TSTypeLiteral",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "X",
+ "range": Array [
+ 11,
+ 23,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 10,
+ 24,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 51,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-types.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 50,
+ 54,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 43,
+ 55,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 37,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 37,
+ 57,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "message",
+ "range": Array [
+ 9,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 28,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 28,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 57,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 36,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 36,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 57,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/function-with-types-assignation.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 89,
+ 93,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 82,
+ 94,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 78,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 78,
+ 96,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "message",
+ "range": Array [
+ 9,
+ 16,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 28,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 28,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "name": "age",
+ "range": Array [
+ 30,
+ 33,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 40,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 34,
+ 40,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 46,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 46,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 43,
+ 46,
+ ],
+ "raw": "100",
+ "type": "Literal",
+ "value": 100,
+ },
+ "type": "AssignmentPattern",
+ },
+ Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 55,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 51,
+ "line": 1,
+ },
+ },
+ "name": "args",
+ "range": Array [
+ 51,
+ 55,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 69,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 56,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 56,
+ 69,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 69,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 56,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 56,
+ 69,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 61,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 56,
+ "line": 1,
+ },
+ },
+ "name": "Array",
+ "range": Array [
+ 56,
+ 61,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 69,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 61,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 68,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 62,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 62,
+ 68,
+ ],
+ "type": "TSStringKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 68,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 62,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 62,
+ 68,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 61,
+ 69,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 69,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 48,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 48,
+ 69,
+ ],
+ "type": "RestElement",
+ },
+ ],
+ "range": Array [
+ 0,
+ 96,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 77,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 71,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 71,
+ 77,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 77,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 71,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 71,
+ 77,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 96,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-extends.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 30,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "TSInterfaceHeritage",
+ },
+ ],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-extends-multiple.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 34,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 25,
+ ],
+ "type": "TSInterfaceHeritage",
+ },
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "name": "Baz",
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 26,
+ 29,
+ ],
+ "type": "TSInterfaceHeritage",
+ },
+ ],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 34,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-type-parameters.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 21,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "type": "TSInterfaceDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-with-all-property-types.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "baa",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 20,
+ 32,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 37,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 37,
+ 50,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 43,
+ 49,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 43,
+ 49,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 4,
+ },
+ },
+ "name": "bax",
+ "range": Array [
+ 56,
+ 59,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 55,
+ 69,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 62,
+ 68,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 62,
+ 68,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 5,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 75,
+ 78,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 74,
+ 89,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 82,
+ 88,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 82,
+ 88,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "export": false,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 6,
+ },
+ },
+ "name": "eee",
+ "range": Array [
+ 95,
+ 98,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 100,
+ 106,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 100,
+ 106,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 94,
+ 116,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 109,
+ 115,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 109,
+ 115,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "export": false,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 7,
+ },
+ },
+ "name": "fff",
+ "optional": true,
+ "range": Array [
+ 122,
+ 125,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 128,
+ 134,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 128,
+ 134,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 121,
+ 144,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 137,
+ 143,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 137,
+ 143,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "name": "doo",
+ "range": Array [
+ 149,
+ 152,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "optional": false,
+ "params": Array [],
+ "range": Array [
+ 149,
+ 161,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 156,
+ 160,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 156,
+ 160,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 9,
+ },
+ },
+ "name": "doo",
+ "range": Array [
+ 166,
+ 169,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 9,
+ },
+ },
+ "optional": true,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 9,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 171,
+ 172,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 9,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 174,
+ 175,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 9,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 177,
+ 178,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 166,
+ 186,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 181,
+ 185,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 181,
+ 185,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": true,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 10,
+ },
+ },
+ "name": "loo",
+ "range": Array [
+ 192,
+ 195,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 10,
+ },
+ },
+ "optional": true,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 10,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 198,
+ 199,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 10,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 201,
+ 202,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 10,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 204,
+ 205,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 191,
+ 213,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 208,
+ 212,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 208,
+ 212,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 11,
+ },
+ },
+ "name": "boo",
+ "range": Array [
+ 218,
+ 221,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 11,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 11,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 225,
+ 226,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 11,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 228,
+ 229,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 11,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 231,
+ 232,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 218,
+ 240,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 235,
+ 239,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 235,
+ 239,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 11,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 11,
+ },
+ },
+ "name": "J",
+ "range": Array [
+ 222,
+ 223,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 221,
+ 224,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 12,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 12,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 250,
+ 251,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 12,
+ },
+ },
+ "name": "b",
+ "optional": true,
+ "range": Array [
+ 253,
+ 254,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 245,
+ 265,
+ ],
+ "type": "TSConstructSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 258,
+ 264,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 258,
+ 264,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 13,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 13,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 278,
+ 279,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 13,
+ },
+ },
+ "name": "b",
+ "optional": true,
+ "range": Array [
+ 281,
+ 282,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 270,
+ 293,
+ ],
+ "type": "TSConstructSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 13,
+ },
+ },
+ "range": Array [
+ 286,
+ 292,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 13,
+ },
+ },
+ "range": Array [
+ 286,
+ 292,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 13,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 13,
+ },
+ },
+ "name": "F",
+ "range": Array [
+ 275,
+ 276,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 274,
+ 277,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 295,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 295,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 295,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-with-construct-signature-with-parameter-accessibility.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "accessibility": "public",
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 33,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 26,
+ 34,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ Object {
+ "accessibility": "private",
+ "export": false,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "parameter": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 44,
+ 45,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 36,
+ 45,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSParameterProperty",
+ },
+ ],
+ "range": Array [
+ 21,
+ 47,
+ ],
+ "type": "TSConstructSignature",
+ "typeAnnotation": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 49,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Test",
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-with-extends-type-parameters.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 36,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 25,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 28,
+ ],
+ "type": "TSInterfaceHeritage",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "name": "J",
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 30,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 28,
+ 31,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ ],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "type": "TSInterfaceDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 13,
+ 16,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-with-generic.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Test",
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "type": "TSInterfaceDeclaration",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-with-jsdoc.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 76,
+ 79,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 6,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 80,
+ 83,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 76,
+ 85,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 87,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Test",
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 87,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 87,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-with-optional-properties.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 21,
+ 26,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": null,
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 31,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 31,
+ 44,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 37,
+ 43,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 37,
+ 43,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 49,
+ 52,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "optional": true,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 4,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 54,
+ 57,
+ ],
+ "type": "Identifier",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 4,
+ },
+ },
+ "name": "bar",
+ "optional": true,
+ "range": Array [
+ 59,
+ 62,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 65,
+ 71,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 65,
+ 71,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 4,
+ },
+ },
+ "name": "baz",
+ "optional": true,
+ "range": Array [
+ 73,
+ 76,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 49,
+ 79,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 81,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "test",
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 81,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 81,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/interface-without-type-annotation.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 21,
+ 25,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 27,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "test",
+ "range": Array [
+ 10,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 27,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/nested-type-arguments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "nestedArray",
+ "range": Array [
+ 4,
+ 15,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 44,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 44,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "Array",
+ "range": Array [
+ 17,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "Array",
+ "range": Array [
+ 23,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 43,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 43,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "name": "Array",
+ "range": Array [
+ 29,
+ 34,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 29,
+ 42,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 41,
+ ],
+ "type": "TSStringKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 41,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 34,
+ 42,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ ],
+ "range": Array [
+ 28,
+ 43,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ ],
+ "range": Array [
+ 22,
+ 44,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ },
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 44,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 44,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 44,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 44,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/non-null-assertion-operator.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 56,
+ 57,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "validateEntity",
+ "range": Array [
+ 41,
+ 55,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 41,
+ 58,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 41,
+ 59,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "name": "s",
+ "range": Array [
+ 68,
+ 69,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "object": Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 72,
+ 73,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 72,
+ 74,
+ ],
+ "type": "TSNonNullExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 75,
+ 79,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 72,
+ 79,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 68,
+ 79,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "let",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 64,
+ 80,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 35,
+ 82,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "processEntity",
+ "range": Array [
+ 9,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "name": "e",
+ "optional": true,
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 33,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 33,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "name": "Entity",
+ "range": Array [
+ 27,
+ 33,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 82,
+ ],
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 82,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/type-alias-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "Result",
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 37,
+ ],
+ "type": "TSUnionType",
+ "types": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 27,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "name": "Success",
+ "range": Array [
+ 17,
+ 24,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 25,
+ 26,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 24,
+ 27,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 37,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "name": "Failure",
+ "range": Array [
+ 30,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 37,
+ ],
+ "type": "VariableDeclarator",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": null,
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 12,
+ 13,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 11,
+ 14,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "kind": "type",
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/type-alias-declaration-with-constrained-type-parameter.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "Result",
+ "range": Array [
+ 5,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 48,
+ ],
+ "type": "TSUnionType",
+ "types": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 28,
+ 38,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 1,
+ },
+ },
+ "name": "Success",
+ "range": Array [
+ 28,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 36,
+ 37,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 35,
+ 38,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 41,
+ 48,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 1,
+ },
+ },
+ "name": "Failure",
+ "range": Array [
+ 41,
+ 48,
+ ],
+ "type": "Identifier",
+ },
+ },
+ ],
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 48,
+ ],
+ "type": "VariableDeclarator",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "constraint": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "members": Array [],
+ "range": Array [
+ 22,
+ 24,
+ ],
+ "type": "TSTypeLiteral",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "T",
+ "range": Array [
+ 12,
+ 24,
+ ],
+ "type": "TypeParameter",
+ },
+ ],
+ "range": Array [
+ 11,
+ 25,
+ ],
+ "type": "TypeParameterDeclaration",
+ },
+ },
+ ],
+ "kind": "type",
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 48,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 48,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/type-alias-object-without-annotation.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 5,
+ 8,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "members": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 12,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 12,
+ 24,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 23,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 23,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 25,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 1,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 25,
+ 28,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": null,
+ },
+ ],
+ "range": Array [
+ 11,
+ 29,
+ ],
+ "type": "TSTypeLiteral",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 5,
+ 30,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "type",
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 30,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/type-guard.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "left": Object {
+ "argument": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 59,
+ 60,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "operator": "typeof",
+ "prefix": true,
+ "range": Array [
+ 52,
+ 60,
+ ],
+ "type": "UnaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "operator": "===",
+ "range": Array [
+ 52,
+ 73,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 65,
+ 73,
+ ],
+ "raw": "'string'",
+ "type": "Literal",
+ "value": "string",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 45,
+ 73,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 39,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 39,
+ 75,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "isString",
+ "range": Array [
+ 9,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 18,
+ 19,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 24,
+ ],
+ "type": "TSAnyKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 0,
+ 75,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 27,
+ 38,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "parameterName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 1,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 27,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 27,
+ 38,
+ ],
+ "type": "TSTypePredicate",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 32,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 32,
+ 38,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ },
+ "type": "FunctionDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 75,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/typed-this.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 2,
+ },
+ },
+ "name": "addClickListener",
+ "range": Array [
+ 23,
+ 39,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 65,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 2,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "name": "onclick",
+ "range": Array [
+ 40,
+ 47,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 49,
+ 79,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "parameters": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "name": "this",
+ "range": Array [
+ 50,
+ 54,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 56,
+ 60,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 56,
+ 60,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 40,
+ "line": 2,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 65,
+ 70,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 65,
+ 70,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 48,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 2,
+ },
+ },
+ "name": "Event",
+ "range": Array [
+ 65,
+ 70,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 49,
+ 79,
+ ],
+ "type": "TSFunctionType",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 75,
+ 79,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 75,
+ 79,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ "typeParameters": null,
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 23,
+ 87,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 64,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 60,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 82,
+ 86,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 64,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 60,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 82,
+ 86,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 89,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "UIElement",
+ "range": Array [
+ 10,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 89,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 89,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/var-with-dotted-type.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 4,
+ 7,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "left": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 9,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 12,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "name": "B",
+ "range": Array [
+ 11,
+ 12,
+ ],
+ "type": "Identifier",
+ },
+ "type": "TSQualifiedName",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 14,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 13,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "type": "TSQualifiedName",
+ },
+ },
+ },
+ },
+ "init": null,
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 14,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 15,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/basics/var-with-type.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 4,
+ 8,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 9,
+ 15,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 28,
+ ],
+ "raw": "\\"Nicholas\\"",
+ "type": "Literal",
+ "value": "Nicholas",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 28,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "var",
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 29,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/accessor-decorators/accessor-decorator-factory-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 37,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "configurable",
+ "range": Array [
+ 19,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 38,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 38,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 47,
+ 48,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "get",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 70,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 60,
+ 64,
+ ],
+ "type": "ThisExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 3,
+ },
+ },
+ "name": "_x",
+ "range": Array [
+ 65,
+ 67,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 60,
+ 67,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 53,
+ 68,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 51,
+ 70,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 48,
+ 70,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 72,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Point",
+ "range": Array [
+ 6,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 72,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 72,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/accessor-decorators/accessor-decorator-factory-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 25,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 25,
+ 34,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 30,
+ 34,
+ ],
+ "raw": "true",
+ "type": "Literal",
+ "value": true,
+ },
+ },
+ ],
+ "range": Array [
+ 23,
+ 36,
+ ],
+ "type": "ObjectExpression",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 19,
+ 22,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 37,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 37,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 53,
+ 56,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "get",
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 80,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 3,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 68,
+ 72,
+ ],
+ "type": "ThisExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 3,
+ },
+ },
+ "name": "_bar",
+ "range": Array [
+ 73,
+ 77,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 68,
+ 77,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 40,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 61,
+ 78,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 59,
+ 80,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 56,
+ 80,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 12,
+ 82,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Other",
+ "range": Array [
+ 6,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 82,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 82,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/accessor-decorators/accessor-decorator-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "hidden",
+ "range": Array [
+ 15,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 21,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "name": "z",
+ "range": Array [
+ 30,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "get",
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 53,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 43,
+ 47,
+ ],
+ "type": "ThisExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 3,
+ },
+ },
+ "name": "_z",
+ "range": Array [
+ 48,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 43,
+ 50,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 36,
+ 51,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 34,
+ 53,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 31,
+ 53,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 55,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "P",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 55,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 55,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/accessor-decorators/accessor-decorator-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "adminonly",
+ "range": Array [
+ 18,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 27,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 43,
+ 44,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "set",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 17,
+ 76,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 4,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 58,
+ 62,
+ ],
+ "type": "ThisExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 4,
+ },
+ },
+ "name": "_y",
+ "range": Array [
+ 63,
+ 65,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 58,
+ 65,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 4,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 58,
+ 69,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 4,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 68,
+ 69,
+ ],
+ "type": "Identifier",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 58,
+ 70,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 48,
+ 76,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 3,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 3,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 45,
+ 46,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "range": Array [
+ 44,
+ 76,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 11,
+ 78,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "User",
+ "range": Array [
+ 6,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 78,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 78,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/class-decorators/class-decorator.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "sealed",
+ "range": Array [
+ 1,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 7,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "name": "Qux",
+ "range": Array [
+ 14,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 20,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/class-decorators/class-decorator-factory.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 56,
+ 58,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 1,
+ },
+ },
+ "properties": Array [
+ Object {
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "selector",
+ "range": Array [
+ 17,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "init",
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "method": false,
+ "range": Array [
+ 17,
+ 32,
+ ],
+ "shorthand": false,
+ "type": "Property",
+ "value": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 32,
+ ],
+ "raw": "'foo'",
+ "type": "Literal",
+ "value": "foo",
+ },
+ },
+ ],
+ "range": Array [
+ 11,
+ 35,
+ ],
+ "type": "ObjectExpression",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "Component",
+ "range": Array [
+ 1,
+ 10,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 1,
+ 36,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 2,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 36,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 4,
+ },
+ },
+ "name": "FooComponent",
+ "range": Array [
+ 43,
+ 55,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 58,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 58,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/method-decorators/method-decorator-factory-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 24,
+ 29,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "onlyRead",
+ "range": Array [
+ 15,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 30,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 30,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "instanceMethod",
+ "range": Array [
+ 35,
+ 49,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 54,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 52,
+ 54,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 49,
+ 54,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 56,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "B",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/method-decorators/method-decorator-factory-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 24,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 25,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 25,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 3,
+ },
+ },
+ "name": "staticMethod",
+ "range": Array [
+ 37,
+ 49,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 54,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 52,
+ 54,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 49,
+ 54,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 56,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/method-decorators/method-decorator-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "onlyRead",
+ "range": Array [
+ 15,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 23,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "name": "instanceMethod",
+ "range": Array [
+ 28,
+ 42,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 47,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 45,
+ 47,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 42,
+ 47,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 49,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/method-decorators/method-decorator-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 18,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 3,
+ },
+ },
+ "name": "staticMethod",
+ "range": Array [
+ 30,
+ 42,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 47,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 45,
+ 47,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 42,
+ 47,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 49,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "D",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 49,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/parameter-decorators/parameter-decorator-constructor.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "constructor",
+ "range": Array [
+ 20,
+ 31,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "constructor",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 113,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "left": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 81,
+ 85,
+ ],
+ "type": "ThisExpression",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 3,
+ },
+ },
+ "name": "title",
+ "range": Array [
+ 86,
+ 91,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 81,
+ 91,
+ ],
+ "type": "MemberExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "operator": "=",
+ "range": Array [
+ 81,
+ 106,
+ ],
+ "right": Object {
+ "computed": false,
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "object": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 3,
+ },
+ },
+ "name": "config",
+ "range": Array [
+ 94,
+ 100,
+ ],
+ "type": "Identifier",
+ },
+ "property": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 3,
+ },
+ },
+ "name": "title",
+ "range": Array [
+ 101,
+ 106,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 94,
+ 106,
+ ],
+ "type": "MemberExpression",
+ },
+ "type": "AssignmentExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 81,
+ 107,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 55,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 71,
+ 113,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "name": "APP_CONFIG",
+ "range": Array [
+ 40,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "name": "Inject",
+ "range": Array [
+ 33,
+ 39,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 33,
+ 51,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 32,
+ 51,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 42,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 2,
+ },
+ },
+ "name": "config",
+ "range": Array [
+ 52,
+ 58,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 60,
+ 69,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 60,
+ 69,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 2,
+ },
+ },
+ "name": "AppConfig",
+ "range": Array [
+ 60,
+ 69,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 31,
+ 113,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 115,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Service",
+ "range": Array [
+ 6,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 115,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 115,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/parameter-decorators/parameter-decorator-decorator-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 16,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 16,
+ 50,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 36,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 48,
+ 50,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 38,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 29,
+ 33,
+ ],
+ "raw": "true",
+ "type": "Literal",
+ "value": true,
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "special",
+ "range": Array [
+ 21,
+ 28,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 21,
+ 34,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 34,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 35,
+ 38,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 40,
+ 46,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 40,
+ 46,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 19,
+ 50,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 52,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 52,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 52,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/parameter-decorators/parameter-decorator-decorator-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 29,
+ 32,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 22,
+ 63,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 43,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 61,
+ 63,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 45,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 46,
+ ],
+ "raw": "true",
+ "type": "Literal",
+ "value": true,
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "special",
+ "range": Array [
+ 34,
+ 41,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 47,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 33,
+ 47,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 48,
+ 51,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 53,
+ 59,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 53,
+ 59,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 32,
+ 63,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 65,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "StaticFoo",
+ "range": Array [
+ 6,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 65,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 65,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/parameter-decorators/parameter-decorator-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "greet",
+ "range": Array [
+ 20,
+ 25,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 20,
+ 95,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "left": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 67,
+ 75,
+ ],
+ "raw": "\\"Hello \\"",
+ "type": "Literal",
+ "value": "Hello ",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 67,
+ 82,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 3,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 78,
+ 82,
+ ],
+ "type": "Identifier",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 67,
+ 88,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 85,
+ 88,
+ ],
+ "raw": "\\"!\\"",
+ "type": "Literal",
+ "value": "!",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 60,
+ 89,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 50,
+ 95,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "required",
+ "range": Array [
+ 27,
+ 35,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 35,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 2,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 36,
+ 40,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 48,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 48,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 25,
+ 95,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 97,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Greeter",
+ "range": Array [
+ 6,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 97,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 97,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/parameter-decorators/parameter-decorator-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 2,
+ },
+ },
+ "name": "greet",
+ "range": Array [
+ 33,
+ 38,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 108,
+ ],
+ "static": true,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "argument": Object {
+ "left": Object {
+ "left": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 80,
+ 88,
+ ],
+ "raw": "\\"Hello \\"",
+ "type": "Literal",
+ "value": "Hello ",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 80,
+ 95,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 3,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 91,
+ 95,
+ ],
+ "type": "Identifier",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 3,
+ },
+ },
+ "operator": "+",
+ "range": Array [
+ 80,
+ 101,
+ ],
+ "right": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 98,
+ 101,
+ ],
+ "raw": "\\"!\\"",
+ "type": "Literal",
+ "value": "!",
+ },
+ "type": "BinaryExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 73,
+ 102,
+ ],
+ "type": "ReturnStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 41,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 63,
+ 108,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "name": "required",
+ "range": Array [
+ 40,
+ 48,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 39,
+ 48,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "name": "name",
+ "range": Array [
+ 49,
+ 53,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 55,
+ 61,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 39,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 55,
+ 61,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 38,
+ 108,
+ ],
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 110,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "StaticGreeter",
+ "range": Array [
+ 6,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 110,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 110,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/property-decorators/property-decorator-factory-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "Input",
+ "range": Array [
+ 27,
+ 32,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 27,
+ 34,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 34,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 2,
+ },
+ },
+ "name": "data",
+ "range": Array [
+ 35,
+ 39,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 26,
+ 40,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 3,
+ },
+ },
+ "name": "Output",
+ "range": Array [
+ 46,
+ 52,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 46,
+ 54,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 45,
+ 54,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "name": "click",
+ "range": Array [
+ 59,
+ 64,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 45,
+ 86,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 28,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 4,
+ },
+ },
+ "name": "EventEmitter",
+ "range": Array [
+ 71,
+ 83,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 30,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 67,
+ 85,
+ ],
+ "type": "NewExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 20,
+ 88,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "SomeComponent",
+ "range": Array [
+ 6,
+ 19,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 88,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 88,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/property-decorators/property-decorator-factory-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 28,
+ 32,
+ ],
+ "raw": "true",
+ "type": "Literal",
+ "value": true,
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "configurable",
+ "range": Array [
+ 15,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 15,
+ 33,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 33,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 31,
+ "line": 2,
+ },
+ },
+ "name": "prop1",
+ "range": Array [
+ 41,
+ 46,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 37,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 47,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 67,
+ 72,
+ ],
+ "raw": "false",
+ "type": "Literal",
+ "value": false,
+ },
+ ],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 4,
+ },
+ },
+ "name": "configurable",
+ "range": Array [
+ 54,
+ 66,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 54,
+ 73,
+ ],
+ "type": "CallExpression",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 53,
+ 73,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 5,
+ },
+ },
+ "name": "prop2",
+ "range": Array [
+ 85,
+ 90,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 53,
+ 91,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 93,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 93,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 93,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/property-decorators/property-decorator-instance-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 18,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "x",
+ "range": Array [
+ 19,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 21,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 3,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 27,
+ 30,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 26,
+ 30,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "name": "y",
+ "range": Array [
+ 35,
+ 36,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 26,
+ 37,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 39,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "B",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 39,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/decorators/property-decorators/property-decorator-static-member.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 2,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 18,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 26,
+ 27,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 28,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 3,
+ },
+ },
+ "name": "qux",
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 33,
+ 37,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 4,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 49,
+ 50,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 33,
+ 51,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "ClassProperty",
+ "typeAnnotation": null,
+ "value": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 8,
+ 53,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 53,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 53,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/errorRecovery/class-empty-extends.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 18,
+ 22,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 22,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/errorRecovery/class-empty-extends-implements.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 37,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/errorRecovery/class-extends-empty-implements.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 33,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 33,
+ 37,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 6,
+ 9,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "superClass": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "Bar",
+ "range": Array [
+ 18,
+ 21,
+ ],
+ "type": "Identifier",
+ },
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 37,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/errorRecovery/decorator-on-enum-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "decorators": Array [
+ Object {
+ "expression": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "dec",
+ "range": Array [
+ 1,
+ 4,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 4,
+ ],
+ "type": "Decorator",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "members": Array [],
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "E",
+ "range": Array [
+ 10,
+ 11,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "type": "TSEnumDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 14,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/errorRecovery/interface-empty-extends.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 22,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 22,
+ 26,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 26,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/errorRecovery/interface-property-modifiers.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "abstract": false,
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 37,
+ ],
+ "raw": "'a'",
+ "type": "Literal",
+ "value": "a",
+ },
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 20,
+ 23,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 20,
+ 38,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 31,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "public",
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 3,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 50,
+ 51,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 3,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 43,
+ 60,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 53,
+ 59,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 53,
+ 59,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "private",
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 4,
+ },
+ },
+ "name": "b",
+ "range": Array [
+ 73,
+ 74,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 4,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 65,
+ 83,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 76,
+ 82,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 76,
+ 82,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "protected",
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 5,
+ },
+ },
+ "name": "c",
+ "range": Array [
+ 98,
+ 99,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 88,
+ 108,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 101,
+ 107,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 101,
+ 107,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 6,
+ },
+ },
+ "name": "d",
+ "range": Array [
+ 120,
+ 121,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 6,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 113,
+ 130,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 123,
+ 129,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 123,
+ 129,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": true,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 7,
+ },
+ },
+ "name": "e",
+ "range": Array [
+ 142,
+ 143,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 7,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 135,
+ 152,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 145,
+ 151,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 145,
+ 151,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "initializer": null,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 8,
+ },
+ },
+ "name": "f",
+ "range": Array [
+ 166,
+ 167,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 8,
+ },
+ },
+ "optional": false,
+ "range": Array [
+ 157,
+ 176,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSPropertySignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 169,
+ 175,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 169,
+ 175,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "public",
+ "export": false,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 10,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 190,
+ 193,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 195,
+ 201,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 195,
+ 201,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 182,
+ 211,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 204,
+ 210,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 204,
+ 210,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "private",
+ "export": false,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 11,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 225,
+ 228,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 230,
+ 236,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 230,
+ 236,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 216,
+ 246,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 239,
+ 245,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 239,
+ 245,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "protected",
+ "export": false,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 12,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 262,
+ 265,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 267,
+ 273,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 267,
+ 273,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 251,
+ 283,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 276,
+ 282,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 276,
+ 282,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "export": false,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 13,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 296,
+ 299,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 13,
+ },
+ },
+ "range": Array [
+ 301,
+ 307,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 13,
+ },
+ },
+ "range": Array [
+ 301,
+ 307,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 13,
+ },
+ },
+ "range": Array [
+ 288,
+ 317,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 13,
+ },
+ },
+ "range": Array [
+ 310,
+ 316,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 13,
+ },
+ },
+ "range": Array [
+ 310,
+ 316,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "export": true,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 14,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 330,
+ 333,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 14,
+ },
+ },
+ "range": Array [
+ 335,
+ 341,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 14,
+ },
+ },
+ "range": Array [
+ 335,
+ 341,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 14,
+ },
+ },
+ "range": Array [
+ 322,
+ 351,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 14,
+ },
+ },
+ "range": Array [
+ 344,
+ 350,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 26,
+ "line": 14,
+ },
+ },
+ "range": Array [
+ 344,
+ 350,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "export": false,
+ "index": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 15,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 15,
+ },
+ },
+ "name": "baz",
+ "range": Array [
+ 366,
+ 369,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 15,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 15,
+ },
+ },
+ "range": Array [
+ 371,
+ 377,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 15,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 15,
+ },
+ },
+ "range": Array [
+ 371,
+ 377,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 15,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 15,
+ },
+ },
+ "range": Array [
+ 356,
+ 387,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSIndexSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 15,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 15,
+ },
+ },
+ "range": Array [
+ 380,
+ 386,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 15,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 15,
+ },
+ },
+ "range": Array [
+ 380,
+ 386,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "public",
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 17,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 17,
+ },
+ },
+ "name": "g",
+ "range": Array [
+ 400,
+ 401,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 17,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 17,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 17,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 17,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 402,
+ 405,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 17,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 17,
+ },
+ },
+ "range": Array [
+ 407,
+ 413,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 17,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 17,
+ },
+ },
+ "range": Array [
+ 407,
+ 413,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 393,
+ 421,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 17,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 17,
+ },
+ },
+ "range": Array [
+ 416,
+ 420,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 17,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 17,
+ },
+ },
+ "range": Array [
+ 416,
+ 420,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "private",
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 18,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 18,
+ },
+ },
+ "name": "h",
+ "range": Array [
+ 434,
+ 435,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 18,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 18,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 18,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 18,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 436,
+ 439,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 18,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 18,
+ },
+ },
+ "range": Array [
+ 441,
+ 447,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 18,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 18,
+ },
+ },
+ "range": Array [
+ 441,
+ 447,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 426,
+ 455,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 18,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 18,
+ },
+ },
+ "range": Array [
+ 450,
+ 454,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 18,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 18,
+ },
+ },
+ "range": Array [
+ 450,
+ 454,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": "protected",
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 19,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 19,
+ },
+ },
+ "name": "i",
+ "range": Array [
+ 470,
+ 471,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 35,
+ "line": 19,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 19,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 19,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 19,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 472,
+ 475,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 19,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 19,
+ },
+ },
+ "range": Array [
+ 477,
+ 483,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 27,
+ "line": 19,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 19,
+ },
+ },
+ "range": Array [
+ 477,
+ 483,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 460,
+ 491,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 19,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 19,
+ },
+ },
+ "range": Array [
+ 486,
+ 490,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 19,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 19,
+ },
+ },
+ "range": Array [
+ 486,
+ 490,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 20,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 20,
+ },
+ },
+ "name": "j",
+ "range": Array [
+ 503,
+ 504,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 20,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 20,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 20,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 20,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 505,
+ 508,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 20,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 20,
+ },
+ },
+ "range": Array [
+ 510,
+ 516,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 20,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 20,
+ },
+ },
+ "range": Array [
+ 510,
+ 516,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 496,
+ 524,
+ ],
+ "readonly": false,
+ "static": true,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 20,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 20,
+ },
+ },
+ "range": Array [
+ 519,
+ 523,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 20,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 20,
+ },
+ },
+ "range": Array [
+ 519,
+ 523,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 21,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 21,
+ },
+ },
+ "name": "k",
+ "range": Array [
+ 536,
+ 537,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 21,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 21,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 21,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 21,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 538,
+ 541,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 21,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 21,
+ },
+ },
+ "range": Array [
+ 543,
+ 549,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 21,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 21,
+ },
+ },
+ "range": Array [
+ 543,
+ 549,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 529,
+ 557,
+ ],
+ "readonly": false,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 21,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 21,
+ },
+ },
+ "range": Array [
+ 552,
+ 556,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 21,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 21,
+ },
+ },
+ "range": Array [
+ 552,
+ 556,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "export": false,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 22,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 22,
+ },
+ },
+ "name": "l",
+ "range": Array [
+ 571,
+ 572,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 34,
+ "line": 22,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 22,
+ },
+ },
+ "optional": false,
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 22,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 22,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 573,
+ 576,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 22,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 22,
+ },
+ },
+ "range": Array [
+ 578,
+ 584,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 22,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 22,
+ },
+ },
+ "range": Array [
+ 578,
+ 584,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 562,
+ 592,
+ ],
+ "readonly": true,
+ "static": false,
+ "type": "TSMethodSignature",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 22,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 22,
+ },
+ },
+ "range": Array [
+ 587,
+ 591,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 22,
+ },
+ "start": Object {
+ "column": 29,
+ "line": 22,
+ },
+ },
+ "range": Array [
+ 587,
+ 591,
+ ],
+ "type": "TSVoidKeyword",
+ },
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 23,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 14,
+ 594,
+ ],
+ "type": "TSInterfaceBody",
+ },
+ "heritage": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 23,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 594,
+ ],
+ "type": "TSInterfaceDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 23,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 594,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/expressions/call-expression-type-arguments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 0,
+ 3,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 8,
+ ],
+ "type": "CallExpression",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 4,
+ 5,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 3,
+ 6,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 9,
+ ],
+ "type": "ExpressionStatement",
+ },
+ Object {
+ "expression": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "name": "foo",
+ "range": Array [
+ 10,
+ 13,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 23,
+ ],
+ "type": "CallExpression",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 20,
+ ],
+ "type": "TSNumberKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 10,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 14,
+ 20,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 13,
+ 21,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 10,
+ 24,
+ ],
+ "type": "ExpressionStatement",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/expressions/new-expression-type-arguments.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "a",
+ "range": Array [
+ 6,
+ 7,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "arguments": Array [],
+ "callee": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 1,
+ },
+ },
+ "name": "A",
+ "range": Array [
+ 14,
+ 15,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 10,
+ 20,
+ ],
+ "type": "NewExpression",
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 18,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "name": "B",
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 16,
+ 17,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 15,
+ 18,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 20,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "type": "VariableDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 21,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/namespaces-and-modules/ambient-module-declaration-with-import.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 54,
+ ],
+ "source": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 21,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 49,
+ 53,
+ ],
+ "raw": "'fs'",
+ "type": "Literal",
+ "value": "fs",
+ },
+ "specifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "local": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "name": "fs",
+ "range": Array [
+ 41,
+ 43,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 41,
+ 43,
+ ],
+ "type": "ImportDefaultSpecifier",
+ },
+ ],
+ "type": "ImportDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 30,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 30,
+ 56,
+ ],
+ "type": "TSModuleBlock",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "modifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 7,
+ ],
+ "type": "TSDeclareKeyword",
+ },
+ ],
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 29,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 29,
+ ],
+ "raw": "\\"i-use-things\\"",
+ "type": "Literal",
+ "value": "i-use-things",
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "type": "TSModuleDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 56,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/namespaces-and-modules/declare-namespace-with-exported-function.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "async": false,
+ "body": null,
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "name": "select",
+ "range": Array [
+ 41,
+ 47,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 33,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "name": "selector",
+ "range": Array [
+ 48,
+ 56,
+ ],
+ "type": "Identifier",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 58,
+ 64,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 41,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 35,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 58,
+ 64,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ },
+ ],
+ "range": Array [
+ 32,
+ 82,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 67,
+ 81,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 67,
+ 81,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 53,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 44,
+ "line": 2,
+ },
+ },
+ "name": "Selection",
+ "range": Array [
+ 67,
+ 76,
+ ],
+ "type": "Identifier",
+ },
+ "typeParameters": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 58,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 53,
+ "line": 2,
+ },
+ },
+ "params": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 54,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 77,
+ 80,
+ ],
+ "type": "TSAnyKeyword",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 57,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 54,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 77,
+ 80,
+ ],
+ "type": "GenericTypeAnnotation",
+ "typeParameters": null,
+ },
+ ],
+ "range": Array [
+ 76,
+ 81,
+ ],
+ "type": "TypeParameterInstantiation",
+ },
+ },
+ },
+ "type": "TSNamespaceFunctionDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 59,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 82,
+ ],
+ "source": null,
+ "specifiers": Array [],
+ "type": "ExportNamedDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 21,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 21,
+ 84,
+ ],
+ "type": "TSModuleBlock",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "modifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 7,
+ ],
+ "type": "TSDeclareKeyword",
+ },
+ ],
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 20,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 1,
+ },
+ },
+ "name": "d3",
+ "range": Array [
+ 18,
+ 20,
+ ],
+ "type": "Identifier",
+ },
+ "range": Array [
+ 0,
+ 84,
+ ],
+ "type": "TSModuleDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 84,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/namespaces-and-modules/module-with-default-exports.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "declaration": Object {
+ "body": Object {
+ "body": Array [
+ Object {
+ "accessibility": null,
+ "computed": false,
+ "decorators": Array [],
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "name": "method",
+ "range": Array [
+ 52,
+ 58,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "method",
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 52,
+ 66,
+ ],
+ "static": false,
+ "type": "MethodDefinition",
+ "value": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 20,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 64,
+ 66,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": null,
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 3,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 58,
+ 66,
+ ],
+ "returnType": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "TypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "TSTypeReference",
+ "typeName": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 19,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 3,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 62,
+ 63,
+ ],
+ "type": "Identifier",
+ },
+ },
+ },
+ "type": "FunctionExpression",
+ },
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 27,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 42,
+ 73,
+ ],
+ "type": "ClassBody",
+ },
+ "decorators": Array [],
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 26,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 25,
+ "line": 2,
+ },
+ },
+ "name": "C",
+ "range": Array [
+ 40,
+ 41,
+ ],
+ "type": "Identifier",
+ },
+ "implements": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 34,
+ 73,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 19,
+ 73,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ Object {
+ "declaration": Object {
+ "async": false,
+ "body": Object {
+ "body": Array [],
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 34,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 108,
+ 110,
+ ],
+ "type": "BlockStatement",
+ },
+ "expression": false,
+ "generator": false,
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 28,
+ "line": 5,
+ },
+ },
+ "name": "bar",
+ "range": Array [
+ 102,
+ 105,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 19,
+ "line": 5,
+ },
+ },
+ "params": Array [],
+ "range": Array [
+ 93,
+ 110,
+ ],
+ "type": "TSNamespaceFunctionDeclaration",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 36,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 78,
+ 110,
+ ],
+ "type": "ExportDefaultDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 13,
+ 112,
+ ],
+ "type": "TSModuleBlock",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 7,
+ 12,
+ ],
+ "raw": "\\"foo\\"",
+ "type": "Literal",
+ "value": "foo",
+ },
+ "range": Array [
+ 0,
+ 112,
+ ],
+ "type": "TSModuleDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 112,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
+
+exports[`typescript fixtures/namespaces-and-modules/shorthand-ambient-module-declaration.src 1`] = `
+Object {
+ "body": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "modifiers": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 7,
+ ],
+ "type": "TSDeclareKeyword",
+ },
+ ],
+ "name": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 31,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 31,
+ ],
+ "raw": "\\"hot-new-module\\"",
+ "type": "Literal",
+ "value": "hot-new-module",
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "type": "TSModuleDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 32,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 32,
+ ],
+ "sourceType": "script",
+ "type": "Program",
+}
+`;
diff --git a/tests/lib/basics.js b/tests/lib/basics.js
index a5ab496..31d9d73 100644
--- a/tests/lib/basics.js
+++ b/tests/lib/basics.js
@@ -12,7 +12,6 @@
//------------------------------------------------------------------------------
const path = require("path"),
- parser = require("../../parser"),
shelljs = require("shelljs"),
testUtils = require("../../tools/test-utils");
@@ -46,35 +45,10 @@ describe("basics", () => {
});
testFiles.forEach(filename => {
-
// Uncomment and fill in filename to focus on a single file
// var filename = "jsx/invalid-matching-placeholder-in-closing-tag";
const code = shelljs.cat(`${path.resolve(FIXTURES_DIR, filename)}.src.js`);
-
- it("should parse correctly", () => {
- const expected = require(`${path.resolve(__dirname, "../../", FIXTURES_DIR, filename)}.result.js`);
- let result;
-
- try {
- result = parser.parse(code, config);
- result = testUtils.getRaw(result);
- } catch (ex) {
-
- // format of error isn't exactly the same, just check if it's expected
- if (expected.message) {
- return;
- }
- throw ex;
-
-
- }
-
- // console.log(JSON.stringify(result, null, 4));
- expect(result).toEqual(expected);
-
- });
-
+ test(`fixtures/${filename}.src`, testUtils.createSnapshotTestBlock(code, config));
});
-
});
diff --git a/tests/lib/comments.js b/tests/lib/comments.js
index eeac34f..376877b 100644
--- a/tests/lib/comments.js
+++ b/tests/lib/comments.js
@@ -31,7 +31,6 @@
//------------------------------------------------------------------------------
const path = require("path"),
- parser = require("../../parser"),
shelljs = require("shelljs"),
testUtils = require("../../tools/test-utils");
@@ -68,28 +67,7 @@ describe("Comments", () => {
testFiles.forEach(filename => {
const code = shelljs.cat(`${path.resolve(FIXTURES_DIR, filename)}.src.js`);
-
- it("should produce correct AST when parsed with comment", () => {
- const expected = require(`${path.resolve(__dirname, "../../", FIXTURES_DIR, filename)}.result.js`);
- let result;
-
- try {
- result = parser.parse(code, config);
- result = testUtils.getRaw(result);
- } catch (ex) {
-
- // format of error isn't exactly the same, just check if it's expected
- if (expected.message) {
- return;
- }
- throw ex;
-
-
- }
- expect(result).toEqual(expected);
- });
-
+ test(`fixtures/${filename}.src`, testUtils.createSnapshotTestBlock(code, config));
});
-
});
diff --git a/tests/lib/ecma-features.js b/tests/lib/ecma-features.js
index b5f9609..8d51513 100644
--- a/tests/lib/ecma-features.js
+++ b/tests/lib/ecma-features.js
@@ -12,7 +12,6 @@
//------------------------------------------------------------------------------
const path = require("path"),
- parser = require("../../parser"),
shelljs = require("shelljs"),
testUtils = require("../../tools/test-utils");
@@ -22,28 +21,17 @@ const path = require("path"),
const FIXTURES_DIR = "./tests/fixtures/ecma-features";
-// var FIXTURES_MIX_DIR = "./tests/fixtures/ecma-features-mix";
-
const testFiles = shelljs.find(FIXTURES_DIR)
.filter(filename => filename.indexOf(".src.js") > -1)
// strip off ".src.js"
.map(filename => filename.substring(FIXTURES_DIR.length - 1, filename.length - 7))
.filter(filename => !(/error-|invalid-|globalReturn/.test(filename)));
-// var moduleTestFiles = testFiles.filter(function(filename) {
-// return !/jsx|globalReturn|invalid|experimental|generators|not\-strict/.test(filename);
-// });
-
-// var mixFiles = shelljs.find(FIXTURES_MIX_DIR).filter(function(filename) {
-// return filename.indexOf(".src.js") > -1;
-// }).map(function(filename) {
-// return filename.substring(FIXTURES_MIX_DIR.length - 1, filename.length - 7); // strip off ".src.js"
-// // }).filter(function(filename) {
-// // return /template/.test(filename);
-// });
-
-// console.dir(moduleTestFiles);
-// return;
+const regexFilenames = [
+ "regexYFlag/regexp-y-simple",
+ "regexUFlag/regex-u-simple",
+ "regexUFlag/regex-u-extended-escape"
+];
//------------------------------------------------------------------------------
// Tests
@@ -70,116 +58,43 @@ describe("ecmaFeatures", () => {
const feature = path.dirname(filename),
code = shelljs.cat(`${path.resolve(FIXTURES_DIR, filename)}.src.js`);
- it(`should parse correctly when ${feature} is true ${filename}`, () => {
- config.ecmaFeatures[feature] = true;
- let expected = null;
-
- const regexFilenames = [
- "regexYFlag/regexp-y-simple",
- "regexUFlag/regex-u-simple",
- "regexUFlag/regex-u-extended-escape"
- ];
- if (regexFilenames.indexOf(filename) !== -1) {
- const nodeVersions = process.versions;
- const nodeVersionParts = nodeVersions.node.split(".");
- const nodeMajorVersion = parseInt(nodeVersionParts[0], 10);
-
- if (nodeMajorVersion >= 6) {
- expected = require(`${path.resolve(__dirname, "../../", FIXTURES_DIR, filename)}.supported.result.js`);
- } else {
- expected = require(`${path.resolve(__dirname, "../../", FIXTURES_DIR, filename)}.unsupported.result.js`);
- }
- } else {
- expected = require(`${path.resolve(__dirname, "../../", FIXTURES_DIR, filename)}.result.js`);
- }
- let result;
-
- try {
- result = parser.parse(code, config);
- result = testUtils.getRaw(result);
- } catch (ex) {
-
- // format of error isn't exactly the same, just check if it's expected
- if (expected.message) {
- return;
- }
- throw ex;
-
-
- }
- expect(result).toEqual(expected);
- });
+ if (regexFilenames.indexOf(filename) === -1) {
+ test(`fixtures/${filename}.src`, () => {
+ config.ecmaFeatures[feature] = true;
+ testUtils.createSnapshotTestBlock(code, config)();
+ });
+ return;
+ }
+
+ /**
+ * Some regexp flags have different ASTs depending on the current node version,
+ * so we need to account for this in our test cases.
+ *
+ * NOTE: When running the tests for node v5, for example, the snapshots for node v6
+ * are irrelevant. Therefore, in order to prevent Jest from marking them as obsolete
+ * (which would cause the tests to exit with code 1), we make use of `test.skip`.
+ */
+ const nodeVersions = process.versions;
+ const nodeVersionParts = nodeVersions.node.split(".");
+ const nodeMajorVersion = parseInt(nodeVersionParts[0], 10);
+ const NODE_6_AND_ABOVE = `REGEXP FLAG - NODE VERSION >=6: fixtures/${filename}.src`;
+ const NODE_PRE_6 = `REGEXP FLAG - NODE VERSION <6: fixtures/${filename}.src`;
+
+ if (nodeMajorVersion >= 6) {
+ test.skip(NODE_PRE_6);
+ test(NODE_6_AND_ABOVE, () => {
+ config.ecmaFeatures[feature] = true;
+ testUtils.createSnapshotTestBlock(code, config)();
+ });
+ } else {
+ test.skip(NODE_6_AND_ABOVE);
+ test(NODE_PRE_6, () => {
+ config.ecmaFeatures[feature] = true;
+ testUtils.createSnapshotTestBlock(code, config)();
+ });
+ }
});
- // describe("Modules", function() {
-
- // leche.withData(moduleTestFiles, function(filename) {
-
- // var code = shelljs.cat(path.resolve(FIXTURES_DIR, filename) + ".src.js");
-
- // it("should parse correctly when sourceType is module", function() {
- // var expected = require(path.resolve(__dirname, "../../", FIXTURES_DIR, filename) + ".result.js");
- // var result;
-
- // config.sourceType = "module";
-
- // // set sourceType of program node to module
- // if (expected.type === "Program") {
- // expected.sourceType = "module";
- // }
-
- // try {
- // result = getRaw(parser.parse(code, config));
- // } catch (ex) {
-
- // // if the result is an error, create an error object so deepEqual works
- // if (expected.message || expected.description) {
- // result = getRaw(ex);
- // result.message = ex.message;
- // } else {
- // throw ex;
- // }
-
- // }
-
- // assert.deepEqual(result, expected);
- // });
-
- // });
- // });
-
-
-
- // leche.withData(mixFiles, function(filename) {
-
- // var features = path.dirname(filename),
- // code = shelljs.cat(path.resolve(FIXTURES_MIX_DIR, filename) + ".src.js");
-
- // it("should parse correctly when " + features + " are true", function() {
- // config.ecmaFeatures = require(path.resolve(__dirname, "../../", FIXTURES_MIX_DIR, filename) + ".config.js");
-
- // var expected = require(path.resolve(__dirname, "../../", FIXTURES_MIX_DIR, filename) + ".result.js");
- // var result;
-
- // try {
- // result = parser.parse(code, config);
- // result = getRaw(result);
- // } catch (ex) {
-
- // // if the result is an error, create an error object so deepEqual works
- // if (expected.message || expected.description) {
- // result = getRaw(ex);
- // result.message = ex.message;
- // } else {
- // throw ex;
- // }
- // }
-
- // assert.deepEqual(result, expected);
- // });
-
- // });
-
});
diff --git a/tests/lib/jsx.js b/tests/lib/jsx.js
index 44812c9..60e0bdb 100644
--- a/tests/lib/jsx.js
+++ b/tests/lib/jsx.js
@@ -12,7 +12,6 @@
//------------------------------------------------------------------------------
const path = require("path"),
- parser = require("../../parser"),
shelljs = require("shelljs"),
testUtils = require("../../tools/test-utils");
@@ -48,20 +47,6 @@ const jsxTextTestFiles = shelljs.find(JSX_JSXTEXT_FIXTURES_DIR)
describe("JSX", () => {
- let config;
-
- beforeEach(() => {
- config = {
- loc: true,
- range: true,
- tokens: true,
- errorOnUnknownASTType: true,
- ecmaFeatures: {
- jsx: true
- }
- };
- });
-
/**
* Test each fixture file
* @param {string} fixturesDir Fixtures Directory
@@ -75,26 +60,18 @@ describe("JSX", () => {
// var filename = "jsx/invalid-matching-placeholder-in-closing-tag";
const code = shelljs.cat(`${path.resolve(fixturesDir, filename)}.src.js`);
- it(`should parse correctly when ${filename} is true`, () => {
- config.useJSXTextNode = useJSXTextNode;
- const expected = require(`${path.resolve(__dirname, "../../", fixturesDir, filename)}.result.js`);
- let result;
-
- try {
- result = parser.parse(code, config);
- result = testUtils.getRaw(result);
- } catch (ex) {
-
- // format of error isn't exactly the same, just check if it's expected
- if (expected.message) {
- return;
- }
- throw ex;
-
-
+ const config = {
+ loc: true,
+ range: true,
+ tokens: true,
+ errorOnUnknownASTType: true,
+ useJSXTextNode,
+ ecmaFeatures: {
+ jsx: true
}
- expect(result).toEqual(expected);
- });
+ };
+
+ test(`fixtures/${filename}.src`, testUtils.createSnapshotTestBlock(code, config));
};
}
diff --git a/tests/lib/parse.js b/tests/lib/parse.js
index 5b30bec..edeeaa8 100644
--- a/tests/lib/parse.js
+++ b/tests/lib/parse.js
@@ -44,19 +44,18 @@ describe("parse()", () => {
describe("general", () => {
- it("should output tokens, comments, locs, and ranges when called with those options", () => {
- const ast = parser.parse("let foo = bar;", {
- ecmaFeatures: {
- blockBindings: true
- },
- comment: true,
- tokens: true,
- range: true,
- loc: true
- });
-
- expect(testUtils.getRaw(ast)).toEqual(require("../fixtures/parse/all-pieces.json"));
- });
+ const code = "let foo = bar;";
+ const config = {
+ ecmaFeatures: {
+ blockBindings: true
+ },
+ comment: true,
+ tokens: true,
+ range: true,
+ loc: true
+ };
+
+ test("output tokens, comments, locs, and ranges when called with those options", testUtils.createSnapshotTestBlock(code, config));
});
diff --git a/tests/lib/typescript.js b/tests/lib/typescript.js
index e0d30b0..8e8540e 100644
--- a/tests/lib/typescript.js
+++ b/tests/lib/typescript.js
@@ -12,7 +12,6 @@
//------------------------------------------------------------------------------
const path = require("path"),
- parser = require("../../parser"),
shelljs = require("shelljs"),
testUtils = require("../../tools/test-utils");
@@ -46,35 +45,10 @@ describe("typescript", () => {
});
testFiles.forEach(filename => {
-
// Uncomment and fill in filename to focus on a single file
// var filename = "jsx/invalid-matching-placeholder-in-closing-tag";
const code = shelljs.cat(`${path.resolve(FIXTURES_DIR, filename)}.src.ts`);
-
- it("should parse correctly", () => {
- const expected = require(`${path.resolve(__dirname, "../../", FIXTURES_DIR, filename)}.result.js`);
- let result;
-
- try {
- result = parser.parse(code, config);
- result = testUtils.getRaw(result);
- } catch (ex) {
-
- // format of error isn't exactly the same, just check if it's expected
- if (expected.message) {
- return;
- }
- throw ex;
-
-
- }
-
- // console.log(JSON.stringify(result, null, 4));
- expect(result).toEqual(expected);
-
- });
-
+ test(`fixtures/${filename}.src`, testUtils.createSnapshotTestBlock(code, config));
});
-
});
diff --git a/tools/test-utils.js b/tools/test-utils.js
index aa14f38..b93dbc9 100644
--- a/tools/test-utils.js
+++ b/tools/test-utils.js
@@ -7,6 +7,14 @@
"use strict";
+/* global expect */
+
+//------------------------------------------------------------------------------
+// Requirements
+//------------------------------------------------------------------------------
+
+const parser = require("../parser");
+
//------------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------------
@@ -26,6 +34,35 @@ function getRaw(ast) {
}));
}
+/**
+ * Returns a function which can be used as the callback of a Jest test() block,
+ * and which performs an assertion on the snapshot for the given code and config.
+ * @param {string} code The source code to parse
+ * @param {*} config the parser configuration
+ * @returns {Function} callback for Jest test() block
+ */
+function createSnapshotTestBlock(code, config) {
+
+ /**
+ * @returns {Object} the AST object
+ */
+ function parse() {
+ const ast = parser.parse(code, config);
+ return getRaw(ast);
+ }
+
+ return () => {
+ try {
+ const result = parse();
+ expect(result).toMatchSnapshot();
+ } catch (e) {
+ expect(parse).toThrowErrorMatchingSnapshot();
+ }
+ };
+
+}
+
module.exports = {
- getRaw
+ getRaw,
+ createSnapshotTestBlock
};
diff --git a/tools/update-typescript-tests.js b/tools/update-typescript-tests.js
deleted file mode 100644
index 8f3b8b3..0000000
--- a/tools/update-typescript-tests.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * @fileoverview A simple script to update existing tests to reflect new
- * parser changes.
- * @author Nicholas C. Zakas
- */
-"use strict";
-
-
-//------------------------------------------------------------------------------
-// Requirements
-//------------------------------------------------------------------------------
-
-const shelljs = require("shelljs"),
- parser = require("../parser"),
- testUtils = require("./test-utils"),
- path = require("path");
-
-//------------------------------------------------------------------------------
-// Helpers
-//------------------------------------------------------------------------------
-
-/**
- * Returns a raw copy of the given AST
- * @param {Object} ast the AST object
- * @returns {Object} copy of the AST object
- */
-function getRaw(ast) {
- return JSON.parse(JSON.stringify(ast));
-}
-
-/**
- * Returns the expected AST
- * @param {string} code the source code
- * @param {Object} config the parser config
- * @returns {Object} the expected AST object
- */
-function getExpectedResult(code, config) {
- try {
- return testUtils.getRaw(parser.parse(code, config));
- } catch (ex) {
- const raw = getRaw(ex);
- raw.message = ex.message;
- return raw;
- }
-}
-
-/**
- * Returns an array of relevant filenames within the directory
- * @param {string} directory path of the directory to scan
- * @returns {string[]} list of relevant filenames
- */
-function getTestFilenames(directory) {
- return shelljs.find(directory).filter(filename => filename.indexOf(".src.ts") > -1).map(filename => filename.substring(directory.length - 1, filename.length - 7) // strip off ".src.ts"
- );
-}
-
-/**
- * Writes the given AST to the given filename
- * @param {*} result the AST to write to a file
- * @param {*} testResultFilename name of the file to write to
- * @returns {void}
- */
-function outputResult(result, testResultFilename) {
- shelljs.echo(`module.exports = ${JSON.stringify(result, null, " ")};`).to(testResultFilename);
-}
-
-//------------------------------------------------------------------------------
-// Setup
-//------------------------------------------------------------------------------
-
-const FIXTURES_DIR = "./tests/fixtures/typescript";
-const testFiles = getTestFilenames(FIXTURES_DIR);
-
-testFiles.forEach(filename => {
-
- const code = shelljs.cat(`${path.resolve(FIXTURES_DIR, filename)}.src.ts`),
- config = {
- loc: true,
- range: true,
- tokens: true,
- ecmaFeatures: {},
- errorOnUnknownASTType: true
- };
-
- const testResultFilename = `${path.resolve(__dirname, "..", FIXTURES_DIR, filename)}.result.js`;
- const result = getExpectedResult(code, config);
-
- outputResult(result, testResultFilename);
-
-});