Link Search Menu Expand Document

Kotlin Plugin


Bug Fix: Support Late Init Bytecode for Kotlin 1.7+

Since 1.7, the Kotlin compiler produces slightly different bytecode for late initiailized variables which was not picked up by the junk mutation filters in previous releases.


Enhancement: Further Improvements to Inlined Code Support


Require Pitest 1.9.5 or Above

Enhancement: Dynamic Licence Retrieval

See Licence Management for details.


Enhancement: Improvements to Inlined Code Support


New Feature: Stable Range Returns

Functions returning the following types

  • IntRange
  • LongRange
  • CharRange
  • Sequence
  • CoroutineContex

Will be mutated to return their “zero values” in place of the null mutation generated by standard pitest.

Enhancement: Infer Non Nullable Returns When Annotation Absent

For public functions which cannot return null, the Kotlin compiler will add a org.jetbrains.annotations.NotNull annotation. When this annotation is present, pitest will filter out mutations which would violate this constraint. The annotation is not added for private methods however.

This change uses other bytecode markers to infer if a return type is nullable and filter mutants accordingly.


New Feature: Inlined Code Support

See Inlined Functions