File tree Expand file tree Collapse file tree 8 files changed +53
-0
lines changed
java/ql/integration-tests/kotlin/all-platforms/recursive_interfaces Expand file tree Collapse file tree 8 files changed +53
-0
lines changed Original file line number Diff line number Diff line change 1+
2+ package somepkg ;
3+
4+ public interface IfaceA <T > extends IfaceB <T > {}
Original file line number Diff line number Diff line change 1+
2+ package somepkg ;
3+
4+ public interface IfaceB <T > extends IfaceC <IfaceA <IfaceB <T >>> {}
Original file line number Diff line number Diff line change 1+
2+ package somepkg ;
3+
4+ public interface IfaceC <T > {}
Original file line number Diff line number Diff line change 1+
2+ package somepkg ;
3+
4+ public interface IfaceZ {
5+ public <T > IfaceA <String > someFun ();
6+ }
Original file line number Diff line number Diff line change 1+ package mypkg
2+
3+ import somepkg.IfaceZ
4+
5+ class SomeClass (private val myVal : IfaceZ ) { }
Original file line number Diff line number Diff line change 1+ import commands
2+
3+ def test (codeql , java_full ):
4+ codeql .database .create (
5+ command = ["kotlinc somepkg/IfaceA.java somepkg/IfaceB.java somepkg/IfaceC.java somepkg/IfaceZ.java test.kt" ]
6+ )
Original file line number Diff line number Diff line change 1+ | file:///!unknown-binary-location/somepkg/IfaceA.class:0:0:0:0 | IfaceA |
2+ | file:///!unknown-binary-location/somepkg/IfaceA.class:0:0:0:0 | IfaceA<> |
3+ | file:///!unknown-binary-location/somepkg/IfaceA.class:0:0:0:0 | IfaceA<IfaceB<>> |
4+ | file:///!unknown-binary-location/somepkg/IfaceA.class:0:0:0:0 | IfaceA<IfaceB<String>> |
5+ | file:///!unknown-binary-location/somepkg/IfaceA.class:0:0:0:0 | IfaceA<IfaceB<T>> |
6+ | file:///!unknown-binary-location/somepkg/IfaceA.class:0:0:0:0 | IfaceA<IfaceB> |
7+ | file:///!unknown-binary-location/somepkg/IfaceA.class:0:0:0:0 | IfaceA<String> |
8+ | file:///!unknown-binary-location/somepkg/IfaceB.class:0:0:0:0 | IfaceB |
9+ | file:///!unknown-binary-location/somepkg/IfaceB.class:0:0:0:0 | IfaceB<> |
10+ | file:///!unknown-binary-location/somepkg/IfaceB.class:0:0:0:0 | IfaceB<IfaceB> |
11+ | file:///!unknown-binary-location/somepkg/IfaceB.class:0:0:0:0 | IfaceB<String> |
12+ | file:///!unknown-binary-location/somepkg/IfaceB.class:0:0:0:0 | IfaceB<T> |
13+ | file:///!unknown-binary-location/somepkg/IfaceC.class:0:0:0:0 | IfaceC |
14+ | file:///!unknown-binary-location/somepkg/IfaceC.class:0:0:0:0 | IfaceC<> |
15+ | file:///!unknown-binary-location/somepkg/IfaceC.class:0:0:0:0 | IfaceC<IfaceA<IfaceB<>>> |
16+ | file:///!unknown-binary-location/somepkg/IfaceC.class:0:0:0:0 | IfaceC<IfaceA<IfaceB<String>>> |
17+ | file:///!unknown-binary-location/somepkg/IfaceC.class:0:0:0:0 | IfaceC<IfaceA<IfaceB<T>>> |
18+ | file:///!unknown-binary-location/somepkg/IfaceC.class:0:0:0:0 | IfaceC<IfaceA<IfaceB>> |
19+ | file:///!unknown-binary-location/somepkg/IfaceZ.class:0:0:0:0 | IfaceZ |
Original file line number Diff line number Diff line change 1+ import java
2+
3+ from Type t
4+ where t .getName ( ) .matches ( "Iface%" )
5+ select t
You can’t perform that action at this time.
0 commit comments