Open shanshin opened 7 months ago
@shanshin Do you mean only HTML report?
@zuevmaxim No, HTML and verification.
I. Lambda
fun a() {
lambdaCall {
sout("call")
}
}
a
*don't forget about nested lambdas
fun a() {
lambdaCall {
sout("call")
lambdaCall {
sout("call2")
}
}
}
Lambda always extends kotlin/jvm/internal/Lambda
II. Companion
merge content of companion objects in containing class:
companion's methods renamed with companion_
prefix.
Example
class My {
companion object {
fun a() {
}
}
fun a() {
}
}
gives in XML
<class My>
<method "companion_a">
<method "a">
</>
It should be disabled by flag
When generating HTML reports and during verification, any nested classes are analyzed and displayed separately. From the point of view of Kotlin code, this is not entirely correct, because these class-files are features of the JVM compiler implementation and do not reflect the real coverage of the Kotlin class.
It is necessary to merge coverage for the following nested classes:
Example:
the coverage is evaluated separately for all classes, e.g.:
Expected:
Important! At the same time, regular nested classes and inner classes should continue to be counted separately:
should give