Skip to content

[JVM] Adapt invocation results to call-site return types - #629

Closed
CaelmBleidd wants to merge 1 commit into
caelmbleidd/fix-jvm-lambda-argument-adaptationfrom
caelmbleidd/jvm-invocation-return-adaptation
Closed

CaelmBleidd wants to merge 1 commit into
caelmbleidd/fix-jvm-lambda-argument-adaptationfrom
caelmbleidd/jvm-invocation-return-adaptation

Conversation

@CaelmBleidd

Copy link
Copy Markdown
Member

Lambda implementations and erased functional interfaces can return different JVM representations. Adapt successful invocation results to the call-site type, using ordinary wrapper valueOf calls for boxing so caching/models keep their semantics. Preserve null-unboxing exceptions and primitive widening. Add a register-sort invariant with invocation context for genuine mismatches.

Validation: 4 lambda return-adaptation regressions; prerequisite #606 and JacoDB #449. Combined descendant 2ac27c1ae: all 12 focused tests passed and JVM Detekt main/test completed under the exclusive local build lock. Standalone PR-head CI is separate.

Stack: targets caelmbleidd/fix-jvm-lambda-argument-adaptation; review only this layer, merge/rebase its prerequisite first, and recheck the final main integration. Existing JVM fixes #562, #563 and #598 remain separate entries in the Calls wrap-up map. Frozen experiment artifacts are unchanged.

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