Skip to content

Further fixes for optics compiler plugin - #3995

Open
tKe wants to merge 3 commits into
mainfrom
tKe/optics-compiler-plugin-ide-fixes
Open

tKe wants to merge 3 commits into
mainfrom
tKe/optics-compiler-plugin-ide-fixes

Conversation

@tKe

@tKe tKe commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

This covers two distinct issues:

  • During IDE usage, sealedLensFoci resolved members to STATUS while it could still be called in an early phases resulting in lazy resolution failing.
  • Follow-up to Fixes required to support Optics plugin in IntelliJ 2026.3 EAP #3994's lookupTag change: ConeTypeParameterType.lookupTag's return type moved package in K2.5, so it still threw NoSuchMethodError. It's now read through ConeLookupTagBasedType supertype, which has the same signature on both.

Also added per-compiler test tasks for additional compiler versions (runtime classpath only), currently
2.5.0-Beta2, as part of check.

tKe added 3 commits October 27, 2026 20:00
…RAW_FIR

sealedLensFoci used processAllDeclarations with its default member phase
(STATUS). In the IDE, the DSL's top-level names can be requested while a
class is still in COMPANION_GENERATION (e.g. by kotlinx-serialization),
and lazy resolution rejects the jump, failing with "Error while
resolving FirRegularClassImpl from COMPILER_REQUIRED_ANNOTATIONS to
STATUS".
…ch on K2.5

Use the supertype's `lookupTag` return type to avoid hitting the moved
class on K2.5.
Run the test suite against each additional compiler through runtime
classpath only.
@tKe
tKe added this pull request to stack #3997 October 27, 2026 21:03
@tKe
tKe requested a review from serras October 27, 2026 21:04
@github-actions

Copy link
Copy Markdown
Contributor

Kover Report

Total Project Coverage 48.31%

This branch has not been deployed

No deployments
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