You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit de7d06f
Browse filesBrowse the repository at this point in the historyBrowse files
fix: do not alias an import a class heritage clause shadows
The parser walks a class' heritage clause before its own name enters
scope, so a reference there is still tagged as the import. A namespace
read survives that; a bare local binding is captured by the class' own
name, which is in its temporal dead zone during `extends`.
Record those names on `buildInfo` and leave such references reading
through the namespace.
* @property {Set<string>=} pureFunctions names of locally declared functions known to be free of side effects
26
26
* @property {boolean=} inlineExports whether this module was parsed with `optimization.inlineExports` enabled (gates inlining of its exports)
27
27
* @property {Set<string>=} stableExports names of own exports the language pins to one value, so an importer may read them into a local binding
28
+
* @property {Set<string>=} classHeritageNames names a class binds while its own heritage clause is parsed in the enclosing scope, so a reference there resolves to the class at runtime but to the outer name here
28
29
* @property {boolean=} usesTopLevelUsingDeclaration module scope holds a `using`/`await using` declaration, so its resources must be disposed when the module finished evaluating
* names a class binds while its own heritage clause is parsed in the enclosing scope, so a reference there resolves to the class at runtime but to the outer name here
15256
+
*/
15257
+
classHeritageNames?: Set<string>;
15258
+
15254
15259
/**
15255
15260
* module scope holds a `using`/`await using` declaration, so its resources must be disposed when the module finished evaluating
0 commit comments