Skip to content

Conversation

monosoul
Copy link

KSP task loads kotlin-stdlib jar, which contains kotlin.jvm.internal.ClassReference. The classloader that loads this class is used as a parent classloader for actual processors. The processors might load kotlin-reflect library which contains kotlin.reflect.jvm.internal.KClassImpl (extends ClassReference). Since ClassReference is loaded in a different classloader, it can't be type cast to KClassImpl later on. That makes it impossible to use Kotlin reflection in KSP processors. Explicitly adding kotlin-reflect to the parent classloader fixes the issue.

Copy link

google-cla bot commented Jun 30, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

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