diff --git a/packages/babel-parser/src/plugins/estree.js b/packages/babel-parser/src/plugins/estree.js index 71265770c2..e55071fbab 100644 --- a/packages/babel-parser/src/plugins/estree.js +++ b/packages/babel-parser/src/plugins/estree.js @@ -394,6 +394,8 @@ export default (superClass: Class): Class => delete node.arguments; // $FlowIgnore - callee isn't optional in the type definition delete node.callee; + } else if (node.type === "CallExpression") { + (node: N.Node).optional = false; } return node; @@ -434,4 +436,14 @@ export default (superClass: Class): Class => return node; } + + parseSubscript(...args) { + const node = super.parseSubscript(...args); + + if (node.type === "MemberExpression") { + node.optional = false; + } + + return node; + } };