-
Notifications
You must be signed in to change notification settings - Fork 354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
interop problem with some kotlin inline methods #764
Comments
this is how the class looks in "show kotlin bytecode": |
Interestingly the source file name that pitest needs looks to be in there in a kotlin specific annotation, so we could start to read that when the normal debug info is not present. Don't know enough about kotlin or co-routines to have an idea if it would make sense to mutate any of the code in this class though. |
right now i can't use pitest at all, so just reading the annotation would be a huge improvement even if we don't mutate anything. the coroutines code is just inlined library code so i probably no need to mutate it. |
btw, if pitest needs a line number for every non synthetic method, I wonder how it works with kotlin data classes, those have methods like toString and equals, which are not synthetic and are autogenerated. |
Just an FYI for anyone else looking at this, you can use this to exclude these from mutation testing. Not ideal, but it gets pitest working on the rest of the source.
|
Kotlin support is now available in https://docs.arcmutate.com/docs/kotlin |
if I run
./gradlew pitest
on this branch of my project:https://github.com/christophsturm/r2dbcfun/tree/long-text , pitest fails with an exception:
Its totally possible that this is a bug in the kotlin compiler, where it does not mark methods as synthetic, but I'm posting it here first to get more feedback, and maybe create a kotlin ticket later when I know more.
this is with pitest 1.5.1 and kotlin 1.3.72
probably related to #260
The text was updated successfully, but these errors were encountered: