Tamás Vajk
144937a753
Merge pull request #9154 from tamasvajk/kotlin-error-warning-1
...
Kotlin: Adjust diagnostic message severity
2022-05-20 16:12:39 +02:00
Ian Lynagh
6652c27591
Merge pull request #9236 from igfoo/igfoo/kotlinc
...
Kotlin: Use 'which' to find kotlinc
2022-05-20 14:06:59 +01:00
Tamas Vajk
7aafc5f88c
Kotlin: Adjust diagnostic message severity
...
Make extraction messages `warning` if code is still extracted regardless of the reported issue. Make extraction messages `error` if some code is not extracted.
2022-05-20 14:55:16 +02:00
Ian Lynagh
73759705ae
Merge pull request #9121 from github/igfoo/mjson
...
Kotlin: Write the log file as Line-delimited JSON
2022-05-20 13:51:20 +01:00
Tony Torralba
aba4a9aa4a
Merge pull request #9233 from atorralba/atorralba/fix-field-init-test
...
Kotlin: Fix test to correctly highlight lack of flow from field init
2022-05-20 14:37:22 +02:00
Ian Lynagh
3fd61581b3
Kotlin: Call the right kotlinc
2022-05-20 12:59:04 +01:00
Ian Lynagh
44efb34447
Kotlin: Use 'which' to find kotlinc
...
This means we handle kotlinc.batr and kotlinc.cmd on Windows.
2022-05-20 12:44:55 +01:00
Ian Lynagh
d900c3d994
Merge pull request #9221 from smowton/smowton/admin/handle-missing-kotlinc-gracefully
...
Kotlin: Handle missing kotlinc gracefully
2022-05-20 12:06:06 +01:00
Ian Lynagh
d2cb1aa89c
Merge pull request #9218 from igfoo/igfoo/geninst
...
Kotlin: Avoid "generic specialisation" label collisions
2022-05-20 11:42:22 +01:00
Ian Lynagh
9844ae703e
Merge pull request #9219 from igfoo/igfoo/livelits
...
Improve LiveLiterals
2022-05-20 11:42:16 +01:00
Anders Schack-Mulligen
8beef45599
Merge pull request #9195 from aschackmull/java/perf-local-flow
...
Java: Performance fixes for local flow relation
2022-05-20 12:38:02 +02:00
Tony Torralba
775b53b7b4
Fix test to correctly highlight lack of flow from field init
2022-05-20 12:36:10 +02:00
Michael Nebel
20af134ff0
Merge pull request #9210 from michaelnebel/dataflow/summarizedcallablerefactor
...
DataFlow - SummarizedCallable refactor
2022-05-20 09:32:30 +02:00
Tamás Vajk
3407b0f055
Merge pull request #9152 from tamasvajk/kotlin-fix-parcelize-reflection-1
...
Kotlin: Fix extraction of reflective call generated by Parcelize
2022-05-20 09:06:21 +02:00
Chris Smowton
d9f65fe34f
Handle missing kotlinc gracefully
2022-05-19 21:54:18 +01:00
Tony Torralba
5498f41248
Apply code review suggestion to increase precision in getValue
2022-05-19 17:35:34 +01:00
Tony Torralba
bc84ff2031
Improve docs of LiveLiteral
...
Also remove transitive closure from calls
2022-05-19 17:35:27 +01:00
Ian Lynagh
e153f30c01
Kotlin: Avoid "generic specialisation" label collisions
...
We had a global set of labels for generic specialisations that we'd
extracted, but these labels could contain references to other labels,
and thus you can get false collisions between labels for different TRAP
files. We now only keep the set for a single TRAP file, and live with
the extra TRAP duplication that we get from that.
2022-05-19 17:29:41 +01:00
Ian Lynagh
9e3cde001a
Kotlin: Tweak logging
...
Makes it easier to filter out the peak memory info
2022-05-19 16:59:52 +01:00
Chris Smowton
01aaa6ccbf
Merge pull request #9123 from smowton/smowton/fix/type-variable-in-scope-consistency
...
Kotlin: fix cases where type variables were used out of scope
2022-05-19 16:57:41 +01:00
Chris Smowton
c9232c075c
Autoformat
2022-05-19 15:18:10 +01:00
Ian Lynagh
d18e03cf9a
Merge pull request #9212 from igfoo/igfoo/kotlin_mem
...
Kotlin: Log peak memory usge before and after extractor
2022-05-19 14:01:07 +01:00
Ian Lynagh
e319ab1b70
Kotlin: Format a query
2022-05-19 13:56:04 +01:00
Chris Smowton
1039e29b90
Adjust test result
2022-05-19 13:42:28 +01:00
Chris Smowton
4f08981586
Expand warning message to note that there are known Java extractor bugs relating to this query
2022-05-19 13:37:18 +01:00
Ian Lynagh
9b40724dcb
Kotlin: Log peak memory usge before and after extractor
...
Ideally this would be in a more JSON-friendly format, and also in the
database, but this at least makes the information available.
2022-05-19 13:36:11 +01:00
Chris Smowton
e722c99218
Autoformat
2022-05-19 11:55:31 +01:00
Chris Smowton
4f54bb66b8
Accept consistency check failure
...
The Java extractor assigns a type with unbound type variables to the result of ImmutableSortedMap.of calls.
2022-05-19 11:55:31 +01:00
Chris Smowton
ea9aa59627
Add test
2022-05-19 11:55:31 +01:00
Chris Smowton
8a90ddefbb
Accept test changes
...
These are mainly moving the source locations and type specialisations in SAM-converted methods.
2022-05-19 11:55:31 +01:00
Chris Smowton
ada31f3075
Distinguish result type parameter names
...
This makes debugging a little easier.
2022-05-19 11:55:31 +01:00
Chris Smowton
49c9c36daf
Type-variable-in-scope consistency query: account for all enclosing elements that declare type parameters.
2022-05-19 11:55:31 +01:00
Chris Smowton
4e15f5f8c7
Fix extracted type arguments of kotlin.jvm.functions.FunctionN
...
Previously we accidentally extracted an argument type instead of the result type.
2022-05-19 11:55:31 +01:00
Chris Smowton
102cdcdab8
Fix type substitution and source locations in SAM-converted generic interface implementations
...
For example, in implementing Producer<T> by an actual lambda of type () -> Int, the return type should be Int, not T. This produced type-variable-out-of-scope consistency check failures.
2022-05-19 11:55:31 +01:00
Chris Smowton
048a530aac
Type parameter scoping check: distinguish type arguments from type parameters
...
I had forgotten that the Java QL lib regards a ParameterizedType as either an instantiation Generic<String>, or the unbound declaration Generic<T>.
2022-05-19 11:55:31 +01:00
Chris Smowton
b09b769932
Extract type parameters without substituting their parent functions
...
Otherwise references to type variables declared on kotlin.Xyz.someFunction can refer to its Java equivalent java.Xyz.someFunction if it has one.
2022-05-19 11:55:31 +01:00
Chris Smowton
d291e0cf10
Fix typeParametersInScope consistency query
...
The selection of type variables mentioned in a particular class previously didn't work as intended, so the consistency query would always pass.
2022-05-19 11:55:31 +01:00
Anders Schack-Mulligen
651d9d0a44
Java: Ensure cached predicates are in the same stage.
2022-05-19 11:39:41 +02:00
Michael Nebel
22b9ef2e7b
Java: Adapt ExternalApi to refactor.
2022-05-19 11:30:36 +02:00
Anders Schack-Mulligen
0e830f6052
C#/Ruby/Java: Fix pragmas.
2022-05-19 11:26:38 +02:00
Michael Nebel
94a72ec051
Java: Refactor SummarizedCallable.
2022-05-19 11:10:58 +02:00
Erik Krogh Kristensen
215a6a72cc
Merge branch 'main' into useStringComp
2022-05-18 10:55:31 +02:00
Anders Schack-Mulligen
a4dac9fd2b
Merge pull request #9201 from Marcono1234/marcono1234/NumericType-type-qll
...
Java: Move `NumericType` to `Type.qll`
2022-05-18 10:31:40 +02:00
Anders Schack-Mulligen
af7df79289
Autoformat
2022-05-18 09:38:11 +02:00
Anders Schack-Mulligen
a4a004a322
Java: Simplify recursion prevention.
2022-05-18 09:27:55 +02:00
Anders Schack-Mulligen
d4c9fddae3
Java: Use fastTC.
2022-05-18 09:27:54 +02:00
Anders Schack-Mulligen
48ab5b2403
C#/Ruby/Java: Fix references.
2022-05-18 09:27:54 +02:00
Anders Schack-Mulligen
25fda206b2
Java: Prevent accidental recursion through AdditionalValueStep.
2022-05-18 09:25:23 +02:00
Anders Schack-Mulligen
1d3b3204df
Merge pull request #9190 from hvitved/dataflow/summary-arg-param-no-materialize
...
Data flow: Do not materialize `summaryArgParam`
2022-05-18 09:17:57 +02:00
Erik Krogh Kristensen
7245591468
Merge pull request #7763 from erik-krogh/unused-field
...
QL: add unused-field query
2022-05-18 09:15:16 +02:00