{ "type": "Program", "body": [ { "type": "ClassDeclaration", "id": { "type": "Identifier", "name": "X", "range": [ 6, 7 ], "loc": { "start": { "line": 1, "column": 6 }, "end": { "line": 1, "column": 7 } } }, "superClass": null, "body": { "type": "ClassBody", "body": [ { "type": "MethodDefinition", "key": { "type": "Identifier", "name": "f", "range": [ 10, 11 ], "loc": { "start": { "line": 1, "column": 10 }, "end": { "line": 1, "column": 11 } } }, "computed": false, "value": { "type": "FunctionExpression", "id": null, "params": [ { "type": "ObjectPattern", "properties": [ { "type": "Property", "key": { "type": "Identifier", "name": "a", "range": [ 13, 14 ], "loc": { "start": { "line": 1, "column": 13 }, "end": { "line": 1, "column": 14 } } }, "computed": false, "value": { "type": "Identifier", "name": "a", "range": [ 13, 14 ], "loc": { "start": { "line": 1, "column": 13 }, "end": { "line": 1, "column": 14 } } }, "kind": "init", "method": false, "shorthand": true, "range": [ 13, 14 ], "loc": { "start": { "line": 1, "column": 13 }, "end": { "line": 1, "column": 14 } } } ], "range": [ 12, 15 ], "loc": { "start": { "line": 1, "column": 12 }, "end": { "line": 1, "column": 15 } } } ], "body": { "type": "BlockStatement", "body": [ { "type": "ExpressionStatement", "expression": { "type": "Literal", "value": "use strict", "raw": "\"use strict\"", "range": [ 19, 31 ], "loc": { "start": { "line": 1, "column": 19 }, "end": { "line": 1, "column": 31 } } }, "directive": "use strict", "range": [ 19, 32 ], "loc": { "start": { "line": 1, "column": 19 }, "end": { "line": 1, "column": 32 } } } ], "range": [ 17, 33 ], "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 33 } } }, "generator": false, "expression": false, "async": false, "range": [ 11, 33 ], "loc": { "start": { "line": 1, "column": 11 }, "end": { "line": 1, "column": 33 } } }, "kind": "method", "static": false, "range": [ 10, 33 ], "loc": { "start": { "line": 1, "column": 10 }, "end": { "line": 1, "column": 33 } } } ], "range": [ 8, 35 ], "loc": { "start": { "line": 1, "column": 8 }, "end": { "line": 1, "column": 35 } } }, "range": [ 0, 35 ], "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 35 } } } ], "sourceType": "script", "range": [ 0, 35 ], "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 35 } }, "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": "Identifier", "value": "f", "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": "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": [ 17, 18 ], "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 18 } } }, { "type": "String", "value": "\"use strict\"", "range": [ 19, 31 ], "loc": { "start": { "line": 1, "column": 19 }, "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": [ 34, 35 ], "loc": { "start": { "line": 1, "column": 34 }, "end": { "line": 1, "column": 35 } } } ], "errors": [ { "index": 19, "lineNumber": 1, "column": 20, "message": "Error: Line 1: Illegal 'use strict' directive in function with non-simple parameter list" } ] }