Skip to content

Pass 2: Suppress deprecation warnings in key.core (ImmutableArray-bound APIs) - #4012

Closed
wadoon wants to merge 4 commits into
weigl/cw-2-uifrom
weigl/cw-2-deprecation
Closed

wadoon wants to merge 4 commits into
weigl/cw-2-uifrom
weigl/cw-2-deprecation

Conversation

@wadoon

@wadoon wadoon commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

What

Pass 2 of the compiler-warning cleanup. This branch originally resolved the
90 javac lint warnings (84× deprecation, 3× this-escape, 2× rawtypes,
1× unchecked; 94 sites found in this worktree) in 20 key.core files — the
prover-core classes bound to the deprecated ImmutableArray API.

Per the campaign cleanup decision, ALL serial and this-escape fixes were
REMOVED from history
, so what remains is:

  • deprecation (84): narrow-scope @SuppressWarnings("deprecation") with
    a one-line rationale per site, in the prover-core classes bound to the
    deprecated org.key_project.util.collection.ImmutableArray API (successor
    ImmutableList). These classes expose ImmutableArray in
    public/protected signatures, fields and ctor parameters consumed across
    key.core/key.ncore and the tests — swapping the runtime type is not
    locally provably behavior-preserving
    , so the agreed policy applies
    (TermFactory 20, StatementBlock 13, ClashFreeSubst 12,
    JAbstractSortedOperator 9, Operator 8, Throws 6, …).
  • rawtypes/unchecked (3): folded into existing narrow suppressions
    (ClashFreeSubst, OneStepSimplifier, TacletApp).
  • tests (4 files): legacy ScriptLineParser/NamespaceSet/ImmutableArray
    exercised deliberately — suppressed at method scope.

4 commits total (head 51a8e0b3ef).

Verification

History was rebuilt by re-writing the offending commits without the
this-escape content: the 3 @SuppressWarnings("this-escape") annotations on
the StatementBlock ctors were removed (a per-commit pattern scan over the
rewritten history for serialVersionUID, @Serial, "this-escape",
"serial", transient is clean), and git diff of the old vs. new branch
heads over the 20 touched files shows only those 6 removed lines — every other
warning fix (deprecation, rawtypes, unchecked) is kept exactly as-is. No
behavioral changes.

Draft — part of the warning-cleanup stack (pass 2; bases cw-2-ui, ultimately
targeting #4001).

Commits carry Co-Authored-By: OpenCode (KIT Medium).

@wadoon wadoon changed the title weigl/cw 2 deprecation Pass 2: Suppress deprecation warnings in key.core (ImmutableArray-bound APIs) Oct 24, 2026
@wadoon
wadoon added this pull request to stack #4014 October 24, 2026 23:13
…eArray API

Co-Authored-By: OpenCode (KIT Medium)
…nd to ImmutableArray

Co-Authored-By: OpenCode (KIT Medium)
…JavaService

Co-Authored-By: OpenCode (KIT Medium)
…r and ImmutableArray

Co-Authored-By: OpenCode (KIT Medium)
@wadoon
wadoon force-pushed the weigl/cw-2-deprecation branch from 42b18d1 to 51a8e0b Compare October 25, 2026 00:57
@wadoon wadoon closed this Oct 25, 2026
@wadoon
wadoon deleted the weigl/cw-2-deprecation branch October 25, 2026 02:33
@wadoon
wadoon removed this pull request from stack #4014 October 26, 2026 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant