Maurizio Cimadamore 1114c26925 8073645: Add lambda-based lazy eval versions of Assert.check methods
Enhance Assert so that lazy string computation can occurr where needed; enhance static roding rule checkers to make sure the right version of the method is called.

Reviewed-by: jlahoda
2015-03-05 13:10:49 +00:00

36 lines
1.1 KiB
Java

/**@test /nodynamiccopyright/
* @compile/fail/ref=Test.out -Xplugin:coding_rules -XDrawDiagnostics Test.java
*/
import com.sun.tools.javac.util.Assert;
public class Test {
String v;
public void check1(String value) {
Assert.check(value.trim().length() > 0, "value=" + value); //fail
}
public void check2(String value) {
Assert.check(value.trim().length() > 0, "value=" + "value"); //ok
}
public void check3(String value) {
Assert.check(value.trim().length() > 0, () -> "value=" + value); //ok
}
public void check4(String value) {
Assert.check(value.trim().length() > 0, value); //ok
}
public void check5(String value) {
Assert.check(value.trim().length() > 0, v); //ok
}
public void check6(String value) {
Assert.check(value.trim().length() > 0, () -> "value=" + "value"); //fail
}
public void check7(String value) {
Assert.check(value.trim().length() > 0, () -> value); //fail
}
public void check8(String value) {
Assert.check(value.trim().length() > 0, () -> v); //fail
}
}