mirror of
https://github.com/danbulant/oxc
synced 2026-05-20 20:58:48 +00:00
Follow-on after #8482. Fix an edge case in arrow functions transform when inserting `_this = this` after `super()`. It is possible (though bizarre) for `super()` to contain another `super()` call. This will throw an error when evaluating the outer `super()`, but it can still be observable in some cases. ```js let f; class S {} class C extends S { constructor(x) { super(super(), this.x = x, f = async () => this); } } try { new C(123) } catch {} const c = await f(); assert(c.x === 123); ``` So, before bailing out from searching for more `super()`s in class constructor, visit the `super()` call's arguments. |
||
|---|---|---|
| .. | ||
| ast_tools | ||
| benchmark | ||
| common | ||
| compat_data | ||
| coverage | ||
| javascript_globals | ||
| lint_rules | ||
| minsize | ||
| prettier_conformance | ||
| rulegen | ||
| transform_checker | ||
| transform_conformance | ||
| website | ||