estools / escodegen

ECMAScript code generator
BSD 2-Clause "Simplified" License
2.65k stars 335 forks source link

Invalid code is generated with a MemberExpression against an ObjectExpression. #445

Open nullableVoidPtr opened 3 years ago

nullableVoidPtr commented 3 years ago

Proof of concept:

escodegen.generate({
    "type": "MemberExpression",
    "computed": false,
    "object": {
        "type": "ObjectExpression",
        "properties": []
    },
    "property": {
        "type": "Identifier",
        "name": "property"
    }
});

Output:

{}.property

Compared with astring (note the parens around the empty object):

({}).property