Javac fails to compile lambda function instrumented by Clover

Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 2, 2014

In some rare cases it might happen that a code using Java 8 lambda functions after instrumentation by Clover fails to compile. Why it happens and how to fix it?

1 answer

1 accepted

0 votes
Answer accepted
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 2, 2014

Java compiler uses type inference in order to determine types of arguments and a return value of a lambda function (i.e. from a surrounding code context). Clover wraps lambda functions inside a helper method in order to track code coverage for them.

In some rare cases, when a lambda function is being passed as an argument of a method, and this method argument uses a generic type, the javac compiler might fail to perform type inference.

Examplary code, compiler error messages and a workaround is documented in Clover's Knowledge Base:

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events