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
Chris Smowton
c4ba644dfd
Merge pull request #10952 from smowton/smowton/fix/java-interface-redeclares-tostring
...
Kotlin: extract interface redeclarations of `Object` methods
2022-10-25 11:29:10 +01: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
Chris Smowton
843f847960
Merge pull request #10921 from smowton/smowton/fix/ignore-enhanced-nullability
...
Kotlin: ignore enhanced nullability when extracting primitive types
2022-10-24 19:43:04 +01:00
Chris Smowton
7a0bded2ac
Kotlin: support argument-range specifications for $default methods
2022-10-24 19:31:03 +01:00
Chris Smowton
8d10b1b77b
Convert test to inline-expectation test
2022-10-24 19:15:35 +01:00
Chris Smowton
c6f4742f29
Kotlin: extract interface redeclarations of Object methods
...
Due to a probable compiler bug (?) the redeclaration looks like a fake symbol, leading to Java dispatching against a declaration that Kotlin doesn't believe exists.
2022-10-24 12:45:07 +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
Chris Smowton
86e99c497d
Merge pull request #10930 from smowton/smowton/fix/external-property-overloads
...
Kotlin: give external extension properties with matching name and file distinct trap filenames
2022-10-24 11:32:37 +01: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
42d6968c20
Kotlin: give external extension properties with matching name and file distinct trap filenames
2022-10-21 14:28:53 +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
b80bf4a73e
Account for route to IrSimpleType.kotlinType changing as of v1.7.0
2022-10-21 11:55:15 +01:00
Ian Lynagh
2e6d6e1538
Merge pull request #10894 from igfoo/igfoo/psi
...
Kotlin: Refactor PSI handling
2022-10-21 11:43:49 +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
Arthur Baars
a56ed88db2
Merge pull request #10920 from github/post-release-prep/codeql-cli-2.11.2
...
Post-release preparation for codeql-cli-2.11.2
2022-10-21 11:58:12 +02:00
Chris Smowton
7889d9cffa
Kotlin: ignore enhanced nullability when extracting primitive types
...
Otherwise we'll mistake `@NotNull Integer` for `int` and similar, causing a mismatch vs. Java signatures.
2022-10-21 10:55:26 +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
github-actions[bot]
be7693283b
Post-release preparation for codeql-cli-2.11.2
2022-10-21 08:07:17 +00: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
Ian Lynagh
9bc0c98b8e
Kotlin: Update logs test
2022-10-20 14:18:31 +01:00
Ian Lynagh
291330c7e1
Kotlin: Small code simplification
2022-10-20 12:29:48 +01:00
github-actions[bot]
9a0848bbc4
Release preparation for version 2.11.2
2022-10-20 11:05:19 +00: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
Ian Lynagh
74a4061508
Kotlin: Refactor PSI handling
...
We were giving warnings about comments, when we were actually trying to
populate numlines.
2022-10-19 18:02:24 +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
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
Ian Lynagh
71b649558b
Merge pull request #10648 from igfoo/igfoo/lockless
...
Kotlin: Implement lockless TRAP writing
2022-10-19 15:04:19 +01:00
Tamas Vajk
3e476f96bd
Kotlin: Exclude captured variables from constant loop condition check
2022-10-19 15:01:17 +02:00
Tamas Vajk
0bc57410a0
Kotlin: Add FP test case for constant loop condition
2022-10-19 14:19:49 +02:00
Ian Lynagh
24a84875ad
Merge pull request #10879 from jsoref/spelling-kotlin
...
Spelling kotlin
2022-10-19 12:26:52 +01:00
Tom Hvitved
9e5d9f897f
Merge pull request #10824 from jsoref/spelling-csharp
...
Spelling csharp
2022-10-19 13:16:02 +02:00
Ian Lynagh
83a3ae64c4
Kotlin: Accept test changes
2022-10-19 12:14:39 +01:00
Ian Lynagh
c9cf33dd20
Kotlin: Nest TRAP files inside their basename
2022-10-19 12:14:39 +01:00
Ian Lynagh
dff1cf4c48
Kotlin: Don't write TRAP files that are already out-of-date
2022-10-19 12:14:38 +01:00
Ian Lynagh
e6e0fe0cd4
Kotlin: Tweak custom_plugin/diagnostics test
2022-10-19 12:14:38 +01:00
Ian Lynagh
b251078976
Kotlin: Implement lockless TRAP writing
...
Rather than using lock files and rewriting TRAP file, and storing the
metadata in a .metadata file, we now encode the metadata in the filename
and rename all but the newest TRAP file so that the importer doesn't
see them.
So we might end up with e.g.
Text.members#0.0-1664381081060-java.trap.gz
Text.members#55.0-1658481279000-java.trap-old.gz
Text.members#55.0-1664381081060-java.trap-old.gz
For now, you can go back to the old system by setting
CODEQL_EXTRACTOR_JAVA_TRAP_LOCKING=true
in the environment.
2022-10-19 12:14:38 +01:00
Chris Smowton
7ba9a31766
Use US spelling
2022-10-19 10:41:29 +01:00
Tony Torralba
fd8f8cb930
Merge pull request #10223 from atorralba/atorralba/unsafe-content-resolver
...
Java: New Android query to detect unsafe content URI resolution
2022-10-19 11:22:04 +02:00
Tamás Vajk
0f499dfb75
Merge pull request #10877 from tamasvajk/kotlin-safe-call-null-check
...
Kotlin: Add test for useless null check on safe calls
2022-10-19 11:19:58 +02:00
Tamás Vajk
086362d8ee
Merge pull request #10859 from tamasvajk/kotlin-field-masking
...
Kotlin: Exclude fields of live literals from `java/field-masks-super-field`
2022-10-19 11:19:44 +02:00
Josh Soref
99aa5ffea6
spelling: substitutions
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-19 05:10:23 -04:00
Josh Soref
24a032041f
spelling: sanitize
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-19 05:10:23 -04:00
Josh Soref
0bc19506e7
spelling: reinitialised
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-19 04:59:16 -04:00