Tamas Vajk
556c199a89
Kotlin: Add test case for confusingly overloaded $default method
2022-11-02 09:40:31 +01:00
Chris Smowton
4910bf12e9
Kotlin vararg constructors: don't call a default-parameter constructor just because there are no varargs
...
This is the constructor case of https://github.com/github/codeql/pull/10909
2022-11-01 19:28:56 +00:00
Dave Bartolomeo
9d5e5e3ee7
${workspace} all the things
2022-11-01 13:29:05 -04:00
Tamas Vajk
91972d1d1f
Kotlin: Fix location (start position) of method calls
2022-10-31 21:08:15 +01:00
Tamás Vajk
e356720c73
Merge pull request #11014 from tamasvajk/kotlin-for-loop-var
...
Kotlin: Resugar `for` loops
2022-10-31 14:48:21 +01:00
Chris Smowton
8266a22332
Kotlin: fix method types when an inherited method implements a collection type
...
In this circumstance the compiler seems to generate a specialised version of the implementing function with its argument type replaced by the interface-implementing child class' type parameter. However it stores a back-pointer to the real declared function, which we should use as the call target.
2022-10-29 11:29:04 +01:00
Tamas Vajk
d745381ebe
Remove unneeded consistency test output
2022-10-28 14:56:25 +02:00
Tamas Vajk
803a97df7f
Kotlin: Resugar for loops with tuples as loop variables
2022-10-28 14:55:50 +02:00
Tamas Vajk
841340b266
Kotlin: Resugar for loops
2022-10-28 14:55:50 +02:00
Tamas Vajk
1e3060598f
Kotlin: Add for loop tests
2022-10-28 14:55:50 +02:00
Tamas Vajk
7ceadb0df0
Kotlin: Remove javaEquivalent consistency query
...
The `javaEquivalent` consistency query is no longer needed, as the `diags` query is now a superset of it.
2022-10-28 10:44:42 +02:00
Jami Cogswell
f40eefce57
use CompileTimeConstantExpr instead of StringLiteral
2022-10-27 17:11:07 -04:00
Rasmus Wriedt Larsen
b840e8efb8
Java: Remove MISSING: XssSink annotations from text/plain responses in JaxWs
2022-10-27 15:55:14 +02:00
Rasmus Wriedt Larsen
cee9139a0d
Java: Correctly annotate missing XSS sinks in JaxWs modeling
2022-10-27 15:17:17 +02:00
Rasmus Wriedt Larsen
adf109b624
Merge branch 'main' into inline-fail-tag
2022-10-27 13:42:32 +02:00
Tamas Vajk
1727fcb845
Kotlin: fix test to expect diagnostic
2022-10-27 09:14:23 +02:00
Rasmus Wriedt Larsen
977792070a
Java: Fix tag missing from getARelevantTag
2022-10-27 09:11:24 +02:00
Rasmus Wriedt Larsen
fc7eb5b4fc
InlineExpectationsTest: sync
2022-10-27 09:02:28 +02:00
Tamás Vajk
f1fcb64e94
Merge pull request #10992 from tamasvajk/kotlin-unused-extension
...
Kotlin: do not report on unused `object` extension parameters
2022-10-27 08:50:33 +02:00
Rasmus Wriedt Larsen
5e9897d150
InlineExpectationsTest: sync
2022-10-26 18:21:13 +02:00
Chris Smowton
fac383a3ac
Merge pull request #10974 from smowton/smowton/fix/dont-translate-tochar
...
Kotlin: don't try to call nonexistent `j.l.Number.toChar`
2022-10-26 14:18:03 +01:00
Tamas Vajk
9cc7a30a75
Kotlin: do not report on unused object extension parameters
2022-10-26 15:06:51 +02:00
Tamas Vajk
fbcf7ea669
Kotlin: Add test case for unused extension parameters
2022-10-26 15:05:59 +02:00
Ian Lynagh
37c40c58d2
Merge pull request #10959 from igfoo/igfoo/diags
...
Java/Kotlin: Add a diagnostics consistency query
2022-10-26 13:07:01 +01:00
Chris Smowton
004f4be5fb
Kotlin: don't try to call nonexistent j.l.Number.toChar
...
Previously we thought this could be callable because Kotlin's view of `j.l.Integer` inherits `k.Number` which defines `toChar`.
2022-10-25 17:09:05 +01:00
Ian Lynagh
63b64e4daa
Kotlin: Test tweaks for the diags consistency query
2022-10-25 16:26:11 +01:00
Tamás Vajk
3264bbc1db
Merge pull request #10962 from tamasvajk/kotlin-unreachable-catch
...
Kotlin: Exclude .kt files from `java/unreachable-catch-clause`
2022-10-25 15:01:25 +02:00
Tamás Vajk
30fc6acb19
Merge pull request #10961 from tamasvajk/kotlin-abstract-collection-cast
...
Kotlin: Improve `java/abstract-to-concrete-cast` to handle `when` branches
2022-10-25 13:27:19 +02:00
Chris Smowton
b9f4856d47
Merge pull request #10876 from smowton/smowton/feature/kotlin-default-method-auto-mad
...
Java models-as-data: infer Kotlin $default models from that of its parent function
2022-10-25 11:58:54 +01:00
Tamas Vajk
0e4287e378
Kotlin: Exclude .kt files from java/unreachable-catch-clause
2022-10-25 11:06:51 +02:00
Tamas Vajk
4b042f9770
Kotlin: Add test cases for java/unreachable-catch-clause
2022-10-25 11:06:15 +02:00
Tamas Vajk
a0490f454b
Kotlin: Improve java/abstract-to-concrete-cast to handle when branches
2022-10-25 10:17:47 +02:00
Tamas Vajk
690d6517d7
Kotlin: Add abstract to concrete type cast guarded by when
2022-10-25 10:16:40 +02:00
Chris Smowton
d171decad7
Accept test changes
...
All of java.util.{Collection,List,Map} redeclare `boolean equals(Object)` in order to add documentation, as a side-effect creating a real symbol that can be used as a dispatch target.
2022-10-24 19:49:29 +01:00
Tamás Vajk
1d2087b92a
Merge pull request #10949 from tamasvajk/kotlin-underscore-var
...
Kotlin: exclude Kotlin files from `java/underscore-identifier`
2022-10-24 13:32:49 +02:00
Tamas Vajk
d585839b7e
Kotlin: exclude Kotlin files from java/underscore-identifier
2022-10-24 09:05:28 +02:00
Tamas Vajk
0192ae8331
Kotlin: Add test case for variables named underscore
2022-10-24 09:04:54 +02:00
Chris Smowton
00800017fd
Kotlin: make internal constructors' trap labels consistent with the Java extractor
...
Previously we accidentally named these something like <init>$main, which is a name-mangling the Kotlin compiler applies to internal methods but not to constructors, which look to Java just like regular public constructors.
2022-10-21 16:48:37 +01:00
Chris Smowton
5e28e5a170
Merge pull request #10909 from smowton/smowton/fix/kotlin-varargs-dataflow
...
Kotlin: Fix varargs dataflow, and varargs default handling
2022-10-21 13:32:34 +01:00
Chris Smowton
1fe9e8457f
Kotlin: Fix varargs dataflow, and varargs default handling
...
Dataflow requires accounting for the fact that the varargs parameter isn't necessarily last in the parameter list in a couple more places. Default handling just requires that if the only null parameter is the varargs argument, and it has no default value, then no $default method is required-- the caller is expected to simply pass nothing (at QL
/ source level) or an empty array (at JVM level).
2022-10-21 11:14:41 +01:00
Tamás Vajk
352c20b0c8
Merge pull request #10885 from tamasvajk/kotlin-const-loop-cond-fp
...
Kotlin: Add test case for false positive with modified captured variable
2022-10-21 10:08:02 +02:00
Tamas Vajk
9d1af76c02
Add more test cases
2022-10-21 08:51:11 +02:00
Tamas Vajk
7559d3095f
Revert "Kotlin: Exclude captured variables from constant loop condition check"
...
This reverts commit 3e476f96bd .
2022-10-21 08:38:30 +02:00
Chris Smowton
ac013f9d19
Merge pull request #10889 from smowton/smowton/fix/enum-entry-class-warning
...
Kotlin: Don't warn on extracting an enum-entry class
2022-10-20 22:08:29 +01:00
Chris Smowton
f2749a8878
Don't warn on extracting an enum-entry class
2022-10-20 16:09:45 +01:00
Chris Smowton
e868cdf91b
Merge pull request #9876 from smowton/smowton/feature/interface-forwarding
...
Kotlin: implement default interface forwarding
2022-10-20 10:17:47 +01:00
Chris Smowton
c6b62c934b
Merge pull request #10853 from smowton/smowton/fix/specialised-anon-classes
...
Kotlin: extract called private methods of specialised types, and specialised instances of anonymous types
2022-10-19 16:48:28 +01:00
Jami Cogswell
e5982f19fa
minor updates
2022-10-19 11:05:40 -04:00
Chris Smowton
4da480ecc0
Accept test changes resulting from correctly mapping extension methods' default proxies
2022-10-19 15:56:17 +01:00
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