mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +08:00
- Preserve native virtual dispatch when an override omits trailing checked-value parameters. - Keep argument side effects and subclass defaults correct across direct, inherited, and super calls.
19 lines
634 B
JavaScript
19 lines
634 B
JavaScript
export class Base {
|
|
render(value) { console.log("base", value); }
|
|
dispatch(value) { this.render(value); }
|
|
}
|
|
|
|
let effects = 0;
|
|
let defaults = 0;
|
|
function tick() { return ++effects; }
|
|
function optionsDefault() { defaults++; return {}; }
|
|
|
|
export class ArityBase {
|
|
dispatch(value) { this.render(value, tick()); }
|
|
render(value, time) { console.log("arity base", value, time); }
|
|
defaulted(value, options = optionsDefault()) { console.log("base default", value, Object.keys(options).length); }
|
|
dispatchDefault(value) { this.defaulted(value); }
|
|
}
|
|
|
|
export function arityCounts() { console.log("arity counts", effects, defaults); }
|