Skip to content

Commit 256e98b

Browse files
SONARJAVA-5678 Add example of false negative for S7479 to fix quality gate (#5244)
1 parent 8d806cf commit 256e98b

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

java-checks-test-sources/default/src/main/java/checks/ClassBuilderWithMethodCheckSample.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package checks;
22

33
import java.lang.classfile.ClassBuilder;
4+
import java.lang.classfile.MethodBuilder;
45
import java.lang.classfile.attribute.ExceptionsAttribute;
56
import java.lang.constant.ClassDesc;
7+
import java.util.function.Consumer;
68

79
import static java.lang.classfile.ClassFile.ACC_PUBLIC;
810
import static java.lang.classfile.ClassFile.ACC_STATIC;
@@ -64,4 +66,12 @@ ClassBuilder addMethodCompliantWithCall(ClassBuilder builder) {
6466
.invokevirtual(ClassDesc.of("java.io.PrintStream"), "println", MTD_void)
6567
.return_()));
6668
}
69+
70+
ClassBuilder addMethodFalseNegativeNotALambda(ClassBuilder builder) {
71+
Consumer<MethodBuilder> consumer = methodBuilder -> methodBuilder
72+
.withCode(codeBuilder -> {});
73+
return builder
74+
// False negative, because we don't support case where the last argument is not a lambda
75+
.withMethod("foo", MTD_void, ACC_PUBLIC | ACC_STATIC, consumer);
76+
}
6777
}

0 commit comments

Comments
 (0)