diff --git a/packages/babel-plugin-proposal-class-properties/src/index.js b/packages/babel-plugin-proposal-class-properties/src/index.js index 62ea9ec1ecfe..ca5a426b5548 100644 --- a/packages/babel-plugin-proposal-class-properties/src/index.js +++ b/packages/babel-plugin-proposal-class-properties/src/index.js @@ -71,7 +71,9 @@ export default declare((api, options) => { const body = path.get("body.body"); for (const prop of body) { - if (!prop.isClassPrivateProperty()) continue; + if (!prop.isClassPrivateProperty() && !prop.isClassPrivateMethod()) { + continue; + } if (prop.node.key.id.name !== name) continue; // This class redeclares the private name. @@ -368,7 +370,7 @@ export default declare((api, options) => { ); } - if (path.isClassPrivateProperty()) { + if (path.isClassPrivateProperty() || path.isClassPrivateMethod()) { const { static: isStatic, key: { id: { name } } } = path.node; if (isStatic) { diff --git a/packages/babel-types/src/definitions/es2015.js b/packages/babel-types/src/definitions/es2015.js index 26c0d4a34473..9ccf5f2508e7 100644 --- a/packages/babel-types/src/definitions/es2015.js +++ b/packages/babel-types/src/definitions/es2015.js @@ -89,6 +89,7 @@ defineType("ClassBody", { "ClassMethod", "ClassProperty", "ClassPrivateProperty", + "ClassPrivateMethod", "TSDeclareMethod", "TSIndexSignature", ),