Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 878352f

Browse files
tamasvajkigfoo
authored andcommitted
Add test for checking generated invoke/get/set visibility
1 parent 61b0efb commit 878352f

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

java/ql/test/kotlin/library-tests/reflection/reflection.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,4 @@ fieldAccessInsideInvocationMethods
124124
| reflection.kt:99:14:99:29 | ...::... | reflection.kt:99:14:99:29 | new Function1<String,Inner<String>>(...) { ... } | reflection.kt:99:14:99:29 | invoke | reflection.kt:99:14:99:29 | this.<dispatchReceiver> |
125125
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:109:17:109:27 | get | reflection.kt:109:17:109:27 | this.<dispatchReceiver> |
126126
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:109:17:109:27 | set | reflection.kt:109:17:109:27 | this.<dispatchReceiver> |
127+
memberVisibility

java/ql/test/kotlin/library-tests/reflection/reflection.ql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,9 @@ query predicate fieldAccessInsideInvocationMethods(
8080
m.getName() = ["invoke", "get", "set"] and
8181
access.getEnclosingCallable() = m
8282
}
83+
84+
query predicate memberVisibility(ClassInstanceExpr e, Method m, string modifier) {
85+
(e instanceof MemberRefExpr or e instanceof PropertyRefExpr) and
86+
e.getAnonymousClass().getAMethod() = m and
87+
m.hasModifier(modifier)
88+
}

0 commit comments

Comments
 (0)