Open ainthek opened 5 years ago
Problem of Flex or Grasp ? Seems like Grasp problem to me: Can anyone test standalone Flex please ?
This fails: echo "x={};y={...x}" | grasp -s 'program' Cannot read property 'start' of undefined
echo "x={};y={...x}" | grasp -s 'program' --parser '(acorn, {locations: true, ecmaVersion: 2018, sourceType: 'script', allowHashBang: true})' Cannot read property 'start' of undefined
Acorn can parse this and the result is: $ echo "x={};y={...x}" | acorn --ecma2018 { "type": "Program", "start": 0, "end": 14, "body": [ { "type": "ExpressionStatement", "start": 0, "end": 5, "expression": { "type": "AssignmentExpression", "start": 0, "end": 4, "operator": "=", "left": { "type": "Identifier", "start": 0, "end": 1, "name": "x" }, "right": { "type": "ObjectExpression", "start": 2, "end": 4, "properties": [] } } }, { "type": "ExpressionStatement", "start": 5, "end": 13, "expression": { "type": "AssignmentExpression", "start": 5, "end": 13, "operator": "=", "left": { "type": "Identifier", "start": 5, "end": 6, "name": "y" }, "right": { "type": "ObjectExpression", "start": 7, "end": 13, "properties": [ { "type": "SpreadElement", "start": 8, "end": 12, "argument": { "type": "Identifier", "start": 11, "end": 12, "name": "x" } } ] } } } ], "sourceType": "script" }
Flow parser is OK. Error occures in grasp-squery/lib/common.js#17 (property.key is undefined)
grasp-squery/lib/common.js#17
property.key
undefined
See screenshot from debugger
Please any fix for this ?
Problem of Flex or Grasp ? Seems like Grasp problem to me: Can anyone test standalone Flex please ?
This fails: echo "x={};y={...x}" | grasp -s 'program' Cannot read property 'start' of undefined
echo "x={};y={...x}" | grasp -s 'program' --parser '(acorn, {locations: true, ecmaVersion: 2018, sourceType: 'script', allowHashBang: true})' Cannot read property 'start' of undefined
Acorn can parse this and the result is: $ echo "x={};y={...x}" | acorn --ecma2018 { "type": "Program", "start": 0, "end": 14, "body": [ { "type": "ExpressionStatement", "start": 0, "end": 5, "expression": { "type": "AssignmentExpression", "start": 0, "end": 4, "operator": "=", "left": { "type": "Identifier", "start": 0, "end": 1, "name": "x" }, "right": { "type": "ObjectExpression", "start": 2, "end": 4, "properties": [] } } }, { "type": "ExpressionStatement", "start": 5, "end": 13, "expression": { "type": "AssignmentExpression", "start": 5, "end": 13, "operator": "=", "left": { "type": "Identifier", "start": 5, "end": 6, "name": "y" }, "right": { "type": "ObjectExpression", "start": 7, "end": 13, "properties": [ { "type": "SpreadElement", "start": 8, "end": 12, "argument": { "type": "Identifier", "start": 11, "end": 12, "name": "x" } } ] } } } ], "sourceType": "script" }