kotlin-compile-testing icon indicating copy to clipboard operation
kotlin-compile-testing copied to clipboard

Checking Exceptions throwing by KSP processor

Open vdshb opened this issue 3 years ago • 1 comments

I want to check exception that my KSP processor throwing. But compilation.compile() is not re-throwing it, but logging instead:

e: Error occurred in KSP, check log for detail
e: [ksp] <... stack trace ...>

Is there an option to make com.tschuchort.compiletesting.KotlinCompilation#compile re-throw exceptions from KSP processor?

It's worth adding such option if it's not exist.

vdshb avatar Oct 18 '22 13:10 vdshb

I'll look at this later and see if there's any way to forward the exceptions but unfortunately I'm 90% sure that it won't be possible with the current implementation because KCT is essentially calling Kotlin compiler classes one level below the kotlinc CLI. At that point the Kotlin compiler will have already caught the exception and converted it to the CLI error message that you see in the logs. In any case I'll leave this ticket open as a reminder for a future rewrite that will call the compiler more directly and hopefully enable more introspection.

tschuchortdev avatar Mar 06 '23 00:03 tschuchortdev