mirror of
https://github.com/github/codeql.git
synced 2026-04-26 01:05:15 +02:00
Java: Test @VisibleForTesting method accessing @VisibleForTesting members
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
| packageone/SourcePackage1.java:9:21:9:32 | Annotated.m1 | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:9:29:9:30 | m1 | element |
|
||||
| packageone/SourcePackage1.java:10:21:10:32 | Annotated.m2 | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:11:26:11:27 | m2 | element |
|
||||
| packageone/SourcePackage1.java:12:18:12:36 | fPublic(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:26:23:26:29 | fPublic | element |
|
||||
| packageone/SourcePackage1.java:13:18:13:39 | fProtected(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:31:26:31:35 | fProtected | element |
|
||||
| packageone/SourcePackage1.java:16:31:16:42 | Annotated.m1 | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:9:29:9:30 | m1 | element |
|
||||
| packageone/SourcePackage1.java:17:31:17:42 | Annotated.m2 | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:11:26:11:27 | m2 | element |
|
||||
| packageone/SourcePackage1.java:18:28:18:46 | fPublic(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:26:23:26:29 | fPublic | element |
|
||||
| packageone/SourcePackage1.java:19:28:19:49 | fProtected(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:31:26:31:35 | fProtected | element |
|
||||
| packageone/SourcePackage.java:9:21:9:32 | Annotated.m1 | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:9:29:9:30 | m1 | element |
|
||||
| packageone/SourcePackage.java:10:21:10:32 | Annotated.m2 | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:11:26:11:27 | m2 | element |
|
||||
| packageone/SourcePackage.java:16:18:16:36 | fPublic(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:26:23:26:29 | fPublic | element |
|
||||
@@ -6,6 +14,7 @@
|
||||
| packageone/SourcePackage.java:26:31:26:42 | Annotated.m2 | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:11:26:11:27 | m2 | element |
|
||||
| packageone/SourcePackage.java:29:28:29:46 | fPublic(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:26:23:26:29 | fPublic | element |
|
||||
| packageone/SourcePackage.java:30:28:30:49 | fProtected(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:31:26:31:35 | fProtected | element |
|
||||
| packagetwo/Annotated.java:89:20:89:34 | getSize(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:79:13:79:19 | getSize | element |
|
||||
| packagetwo/Source.java:8:20:8:30 | Annotated.m | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:7:19:7:19 | m | element |
|
||||
| packagetwo/Source.java:14:17:14:29 | f(...) | Access of $@ annotated with VisibleForTesting found in production code. | packagetwo/Annotated.java:16:16:16:16 | f | element |
|
||||
| packagetwo/Source.java:20:28:20:47 | new AnnotatedClass(...) | Access of $@ annotated with VisibleForTesting found in production code. | packageone/AnnotatedClass.java:4:14:4:27 | AnnotatedClass | element |
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package packageone;
|
||||
|
||||
import packagetwo.Annotated;
|
||||
|
||||
public class SourcePackage1 extends Annotated {
|
||||
@VisibleForTesting
|
||||
public void f() {
|
||||
|
||||
String s1 = Annotated.m1; // $ SPURIOUS: Alert
|
||||
String s2 = Annotated.m2; // $ SPURIOUS: Alert
|
||||
|
||||
int i2 = Annotated.fPublic(); // $ SPURIOUS: Alert
|
||||
int i3 = Annotated.fProtected(); // $ SPURIOUS: Alert
|
||||
|
||||
Runnable lambda = () -> {
|
||||
String lambdaS1 = Annotated.m1; // $ SPURIOUS: Alert
|
||||
String lambdaS2 = Annotated.m2; // $ SPURIOUS: Alert
|
||||
int lambdaI2 = Annotated.fPublic(); // $ SPURIOUS: Alert
|
||||
int lambdaI3 = Annotated.fProtected(); // $ SPURIOUS: Alert
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -72,4 +72,21 @@ public class Annotated {
|
||||
int methodProtected = fProtected();
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
static class InnerTestClass {
|
||||
@VisibleForTesting
|
||||
int getSize() {
|
||||
return 42;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
private String data;
|
||||
}
|
||||
|
||||
private void useInnerClass() {
|
||||
InnerTestClass inner = new InnerTestClass();
|
||||
int size = inner.getSize(); // $ SPURIOUS: Alert
|
||||
String value = inner.data;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user