Class KotlinInlineClassFilter
java.lang.Object
org.jacoco.core.internal.analysis.filter.KotlinInlineClassFilter
- All Implemented Interfaces:
IFilter
Filters methods that Kotlin compiler generates for inline classes.
For
@kotlin.jvm.JvmInline
value class Example(val value: String) : Base {
fun f(p: String) { ... }
fun f(p: Example) { ... }
override fun base() { ... }
}
Kotlin compiler produces
@kotlin.jvm.JvmInline
class Example implements Base {
private final String value;
public String getValue() { return value; }
private synthetic Example(String value) { this.value = value; }
public static String constructor-impl(String value) { ... }
public static void f-impl(String value, String p) { ... }
public static void f-ulP-heY(String value, String p) { ... }
public void base() { base-impl(value); }
public static void base-impl(String value) { ... }
public String toString() { return toString-impl(value); }
public static String toString-impl(String value) { ... }
public boolean equals(Object other) { return equals-impl(value, other); }
public static boolean equals-impl(String value, Object other) { ... }
public int hashCode() { return hashCode-impl(value); }
public static int hashCode-impl(String value) { ... }
public final synthetic String unbox-impl() { return value; }
public static synthetic Example box-impl(String value) { return new Example(value); }
public static equals-impl0(String value1, String value2) { ... }
}
Except getter all non-synthetic non-static methods delegate to corresponding
static methods. Non-static methods are provided for interoperability with
Java and can not be invoked from Kotlin without reflection and so should be
filtered out.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfilter(org.objectweb.asm.tree.MethodNode methodNode, IFilterContext context, IFilterOutput output) This method is called for every method.
-
Constructor Details
-
KotlinInlineClassFilter
KotlinInlineClassFilter()
-
-
Method Details
-
filter
public void filter(org.objectweb.asm.tree.MethodNode methodNode, IFilterContext context, IFilterOutput output) Description copied from interface:IFilterThis method is called for every method. The filter implementation is expected to inspect the provided method and report its result to the givenIFilterOutputinstance.
-