diff --git a/src/fast-path.js b/src/fast-path.js index eaeb288ab..9d1d5e9d5 100644 --- a/src/fast-path.js +++ b/src/fast-path.js @@ -221,14 +221,6 @@ FastPath.prototype.needsParens = function(options) { return false; } - case "MemberExpression": { - return ( - parent.type === "MemberExpression" && - parent.object === node && - node.optional - ); - } - case "SpreadElement": case "SpreadProperty": return ( diff --git a/tests/optional_chaining/__snapshots__/jsfmt.spec.js.snap b/tests/optional_chaining/__snapshots__/jsfmt.spec.js.snap index 2c5e7b3fe..7fc924141 100644 --- a/tests/optional_chaining/__snapshots__/jsfmt.spec.js.snap +++ b/tests/optional_chaining/__snapshots__/jsfmt.spec.js.snap @@ -13,6 +13,7 @@ a?.[++x]; a?.b.c(++x).d; a?.b[3].c?.(x).d; (a?.b).c; +a?.b?.c; delete a?.b; a?.b[3].c?.(x).d.e?.f[3].g?.(y).h; @@ -28,7 +29,8 @@ a?.(); a?.[++x]; a?.b.c(++x).d; a?.b[3].c?.(x).d; -(a?.b).c; +a?.b.c; +a?.b?.c; delete a?.b; a?.b[3].c?.(x).d.e?.f[3].g?.(y).h; diff --git a/tests/optional_chaining/chaining.js b/tests/optional_chaining/chaining.js index 328fae7e8..378cfd97a 100644 --- a/tests/optional_chaining/chaining.js +++ b/tests/optional_chaining/chaining.js @@ -10,6 +10,7 @@ a?.[++x]; a?.b.c(++x).d; a?.b[3].c?.(x).d; (a?.b).c; +a?.b?.c; delete a?.b; a?.b[3].c?.(x).d.e?.f[3].g?.(y).h;