diff --git a/src/parser/utils.js b/src/parser/utils.js index ae13d2c63..bef0b2537 100644 --- a/src/parser/utils.js +++ b/src/parser/utils.js @@ -116,7 +116,7 @@ module.exports = { const result = cb(); if (result) { this.ast.swapLocations(result, byref, result, this); - result.byref = true; + result.byref = true; } return result; }, diff --git a/test/snapshot/__snapshots__/assign.test.js.snap b/test/snapshot/__snapshots__/assign.test.js.snap index 8faf0e4a3..28c9e3f46 100644 --- a/test/snapshot/__snapshots__/assign.test.js.snap +++ b/test/snapshot/__snapshots__/assign.test.js.snap @@ -397,3 +397,30 @@ Program { "kind": "program", } `; + +exports[`assign with ref 1`] = ` +Program { + "children": Array [ + ExpressionStatement { + "expression": Assign { + "kind": "assign", + "left": Variable { + "curly": false, + "kind": "variable", + "name": "bar", + }, + "operator": "=", + "right": Variable { + "byref": true, + "curly": false, + "kind": "variable", + "name": "foo", + }, + }, + "kind": "expressionstatement", + }, + ], + "errors": Array [], + "kind": "program", +} +`; diff --git a/test/snapshot/assign.test.js b/test/snapshot/assign.test.js index 837f5ff25..b8b932e17 100644 --- a/test/snapshot/assign.test.js +++ b/test/snapshot/assign.test.js @@ -46,4 +46,7 @@ describe('assign', () => { it('>>=', () => { expect(parser.parseEval("$var >>= $var;")).toMatchSnapshot(); }); + it('with ref', () => { + expect(parser.parseEval("$bar = &$foo;")).toMatchSnapshot(); + }); });