Files
scriptc/packages
Chris Tate 84cf0ec19f Inspect dynamic classes, functions and %o arguments as Node does
- The inspector throws the 'not supported yet' Error for checked-dynamic
  values it does not render (a promise, a URL, a RegExp reached through
  `unknown`). Its calls were not marked as throwing, so
  `console.log("x", p)` printed "x " and the program went on; records and
  arrays with such a field printed `{ a:  }` and `[  ]`. insp.dyn and
  insp.dynS are now may-throw library calls, so the Error propagates from
  the call that inspects the value, before anything is written.
- A class reached through `unknown` prints `[class C]`,
  `[class C extends B]` or `[class (anonymous)]` instead of
  `[Function: C]`. Functions and classes reached as dynamic values print
  their enumerable own properties (`[Function: f] { x: 1 }`,
  `[class S extends A] { count: 3 }`), cycles through them as
  `[Circular *N]`, and `[Function]` past the depth limit. Class objects
  carry their base class's name. A compiled class's static fields are
  module globals that the class object does not carry, so inspecting a
  class that declares static fields through `unknown` throws the
  'not supported yet' Error.
- util.format's %o renders a checked-dynamic argument with showHidden: an
  array's `[length]` entry and an object's non-enumerable own properties,
  string- and symbol-keyed, in brackets. An array with more than 100
  output entries keeps the last one out of the grid, as Node's
  groupArrayElements does. %o of a function, an Error, a typed array or a
  native handle other than Map, Set and Date throws the
  'not supported yet' Error.

ScrClassObj has two new fields, so RUNTIME_ABI_VERSION is now 27.
2026-10-22 10:54:02 -05:00
..
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00
2026-10-22 06:55:45 -05:00
2026-10-21 09:51:40 -05:00
2026-10-21 09:51:40 -05:00