Dave Bartolomeo
a475e5758d
Merge remote-tracking branch 'upstream/main' into dbartol/use-workspace-versions
2022-11-02 12:38:03 -04:00
Tamas Vajk
e48dfcc5b1
Kotlin: exclude loop variables on ranges from 'unused locals' check
2022-11-02 17:34:59 +01:00
Chris Smowton
197be69425
Merge pull request #11069 from smowton/smowton/fix/kotlin-vararg-constructor-defaults
...
Kotlin vararg constructors: don't call a default-parameter constructor just because there are no varargs
2022-11-02 16:08:45 +00:00
Chris Smowton
cad268476c
Accept test changes re: method source-locs
2022-11-02 14:00:14 +00:00
Chris Smowton
d700fddfdd
Kotlin: handle default parameter values inherited from an overridden function
2022-11-02 13:57:53 +00:00
Tamas Vajk
ec5ac17f87
Kotlin: Excluded compiler generated methods from java/confusing-method-signature
2022-11-02 09:40:31 +01:00
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