<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>Current Behavior</strong><br>
After upgrading Babel to 7.7.x, the code constructors marked as "public" does not transpile.  to. If I remove the "public" keyword it works. This only occurs with constructors, public methods still transpile properly.</p>
<p dir="auto">Error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  public constructor() {
         ^^^^^^^^^^^

SyntaxError: Unexpected identifier"><pre class="notranslate"><code class="notranslate">  public constructor() {
         ^^^^^^^^^^^

SyntaxError: Unexpected identifier
</code></pre></div>
<p dir="auto"><strong>Input Code</strong></p>
<ul dir="auto">
<li>REPL or Repo link if applicable:</li>
</ul>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class SomeClass {
  public constructor() {
    // Stuff
  }
}
"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-v">SomeClass</span> <span class="pl-kos">{</span>
  <span class="pl-c1">public</span> <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-c">// Stuff</span>
  <span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto"><strong>Expected behavior/code</strong><br>
Using "public constructor" worked before so this seems to be a regression.</p>
<p dir="auto"><strong>Babel Configuration (.babelrc, package.json, cli command)</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="{
  &quot;presets&quot;: [
    &quot;@babel/typescript&quot;,
    [
      &quot;@babel/preset-env&quot;,
      {
        &quot;targets&quot;: {
          &quot;node&quot;: &quot;current&quot;
        }
      }
    ]
  ],
  &quot;plugins&quot;: [&quot;@babel/proposal-class-properties&quot;]
}"><pre class="notranslate"><span class="pl-kos">{</span>
  <span class="pl-s">"presets"</span>: <span class="pl-kos">[</span>
    <span class="pl-s">"@babel/typescript"</span><span class="pl-kos">,</span>
    <span class="pl-kos">[</span>
      <span class="pl-s">"@babel/preset-env"</span><span class="pl-kos">,</span>
      <span class="pl-kos">{</span>
        <span class="pl-s">"targets"</span>: <span class="pl-kos">{</span>
          <span class="pl-s">"node"</span>: <span class="pl-s">"current"</span>
        <span class="pl-kos">}</span>
      <span class="pl-kos">}</span>
    <span class="pl-kos">]</span>
  <span class="pl-kos">]</span><span class="pl-kos">,</span>
  <span class="pl-s">"plugins"</span>: <span class="pl-kos">[</span><span class="pl-s">"@babel/proposal-class-properties"</span><span class="pl-kos">]</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto"><strong>Environment</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="-    &quot;@babel/core&quot;: &quot;7.6.4&quot;,
-    &quot;@babel/node&quot;: &quot;7.6.3&quot;,
-    &quot;@babel/preset-env&quot;: &quot;7.6.3&quot;,
-    &quot;@babel/preset-typescript&quot;: &quot;7.6.0&quot;,
+    &quot;@babel/core&quot;: &quot;7.7.0&quot;,
+    &quot;@babel/node&quot;: &quot;7.7.0&quot;,
+    &quot;@babel/plugin-proposal-class-properties&quot;: &quot;7.7.0&quot;,
+    &quot;@babel/preset-env&quot;: &quot;7.7.1&quot;,
+    &quot;@babel/preset-typescript&quot;: &quot;7.7.0&quot;,"><pre class="notranslate"><code class="notranslate">-    "@babel/core": "7.6.4",
-    "@babel/node": "7.6.3",
-    "@babel/preset-env": "7.6.3",
-    "@babel/preset-typescript": "7.6.0",
+    "@babel/core": "7.7.0",
+    "@babel/node": "7.7.0",
+    "@babel/plugin-proposal-class-properties": "7.7.0",
+    "@babel/preset-env": "7.7.1",
+    "@babel/preset-typescript": "7.7.0",
</code></pre></div>
<p dir="auto"><strong>Additional context/Screenshots</strong><br>
<a href="https://www.typescriptlang.org/docs/handbook/classes.html#public-private-and-protected-modifiers" rel="nofollow">https://www.typescriptlang.org/docs/handbook/classes.html#public-private-and-protected-modifiers</a></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="    &quot;@babel/core&quot;: &quot;^7.7.0&quot;,
    &quot;@babel/preset-env&quot;: &quot;^7.7.0&quot;,
    &quot;@babel/preset-typescript&quot;: &quot;^7.7.0&quot;,
    &quot;babel-loader&quot;: &quot;^8.0.6&quot;,
    &quot;typescript&quot;: &quot;^3.6.4&quot;,
    &quot;webpack&quot;: &quot;^4.40.2&quot;,
    &quot;webpack-cli&quot;: &quot;^3.3.9&quot;,
    &quot;webpack-dev-middleware&quot;: &quot;^3.7.0&quot;,
    &quot;webpack-hot-middleware&quot;: &quot;^2.25.0&quot;"><pre class="notranslate"><code class="notranslate">    "@babel/core": "^7.7.0",
    "@babel/preset-env": "^7.7.0",
    "@babel/preset-typescript": "^7.7.0",
    "babel-loader": "^8.0.6",
    "typescript": "^3.6.4",
    "webpack": "^4.40.2",
    "webpack-cli": "^3.3.9",
    "webpack-dev-middleware": "^3.7.0",
    "webpack-hot-middleware": "^2.25.0"
</code></pre></div>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class Foo {
  private constructor() {}
}"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-smi">Foo</span> <span class="pl-kos">{</span>
  <span class="pl-k">private</span> <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">in resulting js file I see</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class Foo {
   private constructor() {}
}"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-v">Foo</span> <span class="pl-kos">{</span>
   <span class="pl-c1">private</span> <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>