Repository navigation
Adopt generator graph contracts and IM type adapters - #1584
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Breezy! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
IM copying must preserve fastutil insertion-ordered maps and AST list nodes as references. Treating every SortedMap as a tree map caused ClassCastException for non-comparable IM keys; treating a foreign AST list as metadata changed its type into ArrayList.
Pin the generator contracts from abstractsyntaxgen #2 and register IM type semantics through its adapter API. The adapter declares fastutil map/set ordering, foreign source-node references and Vavr Either variants. Generated code retains ownership of all field enumeration, container copying and nested reference repair; there is no compiler-maintained IM field list in this adapter.
Validation: 150 focused Windows tests pass with the public JitPack artifact, including all MapModelReuseTests and new fastutil, foreign-AST and Either regressions. The original MapModelReuseTests failure was reproduced before the fix. The generator passes 173 tests on Java 25 and 27. Real-map replay compares independent fresh Lua and manifests; all 24 commit pairs match fresh Lua and manifests (Castle Fight 8/12 accepted, Zombie Defense 12/12 accepted; state warnings remain). Full compiler PR CI runs on Ubuntu; macOS remains unverified.
Merge gates: the generator PR must have current-head Codex clearance and be merged; this compiler PR must also have green CI and current-head Codex clearance. The pin is immutable generator commit 0dedc58e7e. Its 716 generated Java files are byte-identical to the public artifact used for the full 24-pair replay. The final public pin also passes the 150-test focused integration gate.