<p dir="auto">Part of the class Private Properties transform is the terribly complicated <a href="https://github.com/CodingItWrong/babel/blob/ccd941057ab297c0f80cacb7c89e892f58e92b00/packages/babel-plugin-proposal-class-properties/src/index.js#L114-L217">"property" to function call visitor</a>. It's strikingly similar to the replace supers (<a href="https://github.com/CodingItWrong/babel/blob/ccd941057ab297c0f80cacb7c89e892f58e92b00/packages/babel-helper-replace-supers/src/index.js#L147-L193">1</a>, <a href="https://github.com/CodingItWrong/babel/blob/ccd941057ab297c0f80cacb7c89e892f58e92b00/packages/babel-helper-replace-supers/src/index.js#L199-L333">2</a>) transform.</p>
<p dir="auto">That's because they're the same thing, just with different functions to call. This needs to be extracted into a new helper visitor, so we can cut down the duplication.</p>
<p dir="auto">From <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-moduledeclarationinstantiation" rel="nofollow">ModuleDeclarationInstantiation( )</a>, step 12.d.iii., parsing <strong>import.js</strong> below should throw a SyntaxError.</p>
<p dir="auto"><strong>export.js</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="export {definedExport} from './another-module'"><pre class="notranslate"><code class="notranslate">export {definedExport} from './another-module'
</code></pre></div>
<p dir="auto"><strong>import.js</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import {
  undefinedExport,
  definedExport
} from './export'"><pre class="notranslate"><code class="notranslate">import {
  undefinedExport,
  definedExport
} from './export'
</code></pre></div>
<p dir="auto">However, it currently doesn't.</p>
<p dir="auto">If someone confirms this issue, I might take a stab at a fix.</p>