Files
scriptc/tests/corpus/checked-object-module-alias.js
Chris Tate 97a489845a Preserve native values through renderer initialization
- Carry BigInts, Sets, and regular expressions through checked native storage without a JavaScript engine.
- Preserve dictionary aliases, spreads, frozen metadata, and fluent initialization helpers.
- Collect checked object and closure cycles while preserving live references.
2026-09-29 00:20:53 -05:00

16 lines
859 B
JavaScript

class Config { static create(value = 0) { return "config"; } }
const modes = Object.fromEntries([["auto", 0], ["manual", 1]]);
var layout = { Config: Config, modes: modes, limit: 18446744073709551615n };
var defaultLayout = layout;
var secondAlias = defaultLayout;
function mutate(value) { value.limit = 1n; }
mutate(defaultLayout);
console.log(defaultLayout === layout, secondAlias === layout, String(layout.limit));
console.log(defaultLayout.modes.auto, secondAlias.Config.create());
let evaluations = 0;
function current() { evaluations++; return defaultLayout; }
console.log(current().Config.create(), evaluations);
function fail() { console.log("receiver"); throw new Error("stop"); return defaultLayout; }
function argument() { console.log("argument"); return 1; }
try { fail().Config.create(argument()); } catch (error) { console.log(error.message); }