Files
codeql/java/ql/integration-tests/posix-only/kotlin/kotlin-interface-inherited-default/test.expected
Chris Smowton 14b8892ced Don't create interface forwarders for other interfaces, and target super accesses correctly
Intermediate interfaces don't need interface forwarders, since the Kotlin compiler won't try to make them non-abstract by synthesising methods.

Super references should always target an immediate superclass, not the ancestor containing the intended implementation.
2022-10-19 15:37:06 +01:00

37 lines
3.0 KiB
Plaintext

callables
| User.java:1:14:1:17 | User | User.java:1:14:1:17 | User | from source |
| User.java:3:22:3:25 | sink | User.java:1:14:1:17 | User | from source |
| User.java:9:22:9:25 | test | User.java:1:14:1:17 | User | from source |
| noforwards.kt:3:3:3:13 | f | noforwards.kt:1:1:10:1 | NoForwards | from source |
| noforwards.kt:5:3:5:19 | g | noforwards.kt:1:1:10:1 | NoForwards | from source |
| noforwards.kt:8:5:8:13 | getX | noforwards.kt:1:1:10:1 | NoForwards | from source |
| noforwards.kt:12:1:12:37 | RealNoForwards | noforwards.kt:12:1:12:37 | RealNoForwards | from source |
| test.kt:3:3:3:13 | f | test.kt:1:1:10:1 | Test | from source |
| test.kt:5:3:5:19 | g | test.kt:1:1:10:1 | Test | from source |
| test.kt:8:5:8:13 | getX | test.kt:1:1:10:1 | Test | from source |
| test.kt:12:1:12:21 | Real | test.kt:12:1:12:21 | Real | from source |
| test.kt:12:1:12:21 | f | test.kt:12:1:12:21 | Real | Forwarder for a Kotlin class inheriting an interface default method |
| test.kt:12:1:12:21 | g | test.kt:12:1:12:21 | Real | Forwarder for a Kotlin class inheriting an interface default method |
| test.kt:12:1:12:21 | getX | test.kt:12:1:12:21 | Real | Forwarder for a Kotlin class inheriting an interface default method |
| test.kt:16:1:16:40 | RealIndirect | test.kt:16:1:16:40 | RealIndirect | from source |
| test.kt:16:1:16:40 | f | test.kt:16:1:16:40 | RealIndirect | Forwarder for a Kotlin class inheriting an interface default method |
| test.kt:16:1:16:40 | g | test.kt:16:1:16:40 | RealIndirect | Forwarder for a Kotlin class inheriting an interface default method |
| test.kt:16:1:16:40 | getX | test.kt:16:1:16:40 | RealIndirect | Forwarder for a Kotlin class inheriting an interface default method |
superAccesses
| test.kt:12:1:12:21 | Test.super | test.kt:12:1:12:21 | Real | test.kt:12:1:12:21 | f | test.kt:12:1:12:21 | Test |
| test.kt:12:1:12:21 | Test.super | test.kt:12:1:12:21 | Real | test.kt:12:1:12:21 | g | test.kt:12:1:12:21 | Test |
| test.kt:12:1:12:21 | Test.super | test.kt:12:1:12:21 | Real | test.kt:12:1:12:21 | getX | test.kt:12:1:12:21 | Test |
| test.kt:16:1:16:40 | MiddleInterface.super | test.kt:16:1:16:40 | RealIndirect | test.kt:16:1:16:40 | f | test.kt:16:1:16:40 | MiddleInterface |
| test.kt:16:1:16:40 | MiddleInterface.super | test.kt:16:1:16:40 | RealIndirect | test.kt:16:1:16:40 | g | test.kt:16:1:16:40 | MiddleInterface |
| test.kt:16:1:16:40 | MiddleInterface.super | test.kt:16:1:16:40 | RealIndirect | test.kt:16:1:16:40 | getX | test.kt:16:1:16:40 | MiddleInterface |
#select
| User.java:12:15:12:15 | 2 | User.java:12:10:12:16 | g(...) |
| User.java:16:15:16:15 | 5 | User.java:16:10:16:16 | g(...) |
| User.java:20:15:20:15 | 8 | User.java:20:10:20:16 | g(...) |
| noforwards.kt:3:13:3:13 | 4 | User.java:15:10:15:15 | f(...) |
| noforwards.kt:8:13:8:13 | 6 | User.java:17:10:17:18 | getX(...) |
| test.kt:3:13:3:13 | 1 | User.java:11:10:11:15 | f(...) |
| test.kt:3:13:3:13 | 1 | User.java:19:10:19:15 | f(...) |
| test.kt:8:13:8:13 | 3 | User.java:13:10:13:18 | getX(...) |
| test.kt:8:13:8:13 | 3 | User.java:21:10:21:18 | getX(...) |