Files
scriptc/tests
Chris Tate 9847375966 Run registered classes' static initializers in place and keep retried statements' diagnostics
- A deferred class with static field initializers is reached where its
  statement evaluates: its file's %init retries it there
  (retryDeferredAtDeclaration), so its initializers lower in place. A failed
  retry reports nothing, restores the types it degraded, and leaves the
  class deferred; no later flush registers it, so it reports at its
  reference instead of registering after its initializers' place. Before, a
  class a later reference registered never ran its static initializers.
- A generic class that registers on retry registers the units of its
  static methods. Before, a call to one was an undeclared function
  (SC9001).
- A statement that lowers again after degrading a type keeps the
  diagnostics of the function-local class bodies it lowered the first time:
  the retry reuses those bodies instead of lowering them again.
- retriableDiags and failedTypes are a Set and a Map owned by the lowerer
  instead of weak collections, and the degraded types of a mode are copied
  without an empty-array fallback, which the self-hosted compiler could not
  lower.
- The coverage test of a class rejected behind a receiver probe pins its
  refusal under --tier=static-only, as the diagnostics corpus does; under
  localized failure the class compiles.
2026-10-25 23:22:35 -05:00
..
2026-10-25 10:55:32 -05:00
…