Tony Torralba
2b2fa6e15b
Add taint step for String.valueOf(Editable)
...
Kotlin inlines expr.toString() as String.valueOf(expr) when expr is nullable
2022-06-20 12:07:31 +02:00
Rasmus Wriedt Larsen
ae44a941f9
Merge pull request #9421 from RasmusWL/inline-brackets
...
Inline Expectation Tests: Allow `tag[foo bar]`
2022-06-20 10:01:19 +02:00
Rasmus Wriedt Larsen
b65a10d1ef
Inline Expectation Tests: sync
2022-06-17 17:38:19 +02:00
Chris Smowton
92b8c0f864
Merge pull request #9563 from smowton/smowton/fix/name-trap-files-after-jvmnames
...
Kotlin: Name trap files after jvmnames
2022-06-17 12:32:28 +01:00
Ian Lynagh
5ba672f035
NonSerializableField: Accept test output changes
2022-06-16 17:34:56 +01:00
Chris Smowton
2d57d3aa78
Implement array type variance lowering
...
Kotlin permits introducing a `? extends ...` wildcard against an Array even though the class is final, so long as its argument itself can be extended (i.e. isn't final or is another array type satisfying this condition).
Contravariant arrays get lowered to Object[], and are subject to automatic `extends` wildcard introduction, unless their element type was already Any.
2022-06-15 18:36:56 +01:00
Chris Smowton
90e8d4e1de
Name trap files after jvmnames
...
This should lead to better Java/Kotlin correspondence since the Java extractor will naturally name trap files for JVM names, and avoids a specific bug (tested) where MapsKt.iterator's two overloads (one taking `Map` and one `MutableMap`) are JvmName'd differently since their Java-lowered signatures would be identical. Without this change only
one of the iterator overloads would get extracted leaving the other one a dangling reference.
2022-06-15 11:55:58 +01:00
Chris Smowton
efbe264f93
Accept toInt/intValue and similar test changes
2022-06-14 21:44:54 +01:00
Chris Smowton
d390dc0316
Map java.lang.Number methods to their Java equivalents
2022-06-14 21:44:54 +01:00
Chris Smowton
d3fa4951f6
Accept test changes renaming removeAt(int) -> remove(int)
2022-06-14 21:44:54 +01:00
Chris Smowton
837bef60fe
Add java.lang.Enum ordinal and name accessors to special-cased JVM names
...
Kotlin represents these as read-only properties with unusual getter names.
2022-06-14 21:44:54 +01:00
Chris Smowton
d151bf632c
Kotlin: Rewrite MutableList.removeAt(int) -> remove(int)
...
The Kotlin authors changed this to avoid a clash on List<Int>, but we must reverse the renaming so the Kotlin and Java views of the same class file extract alike.
2022-06-14 21:44:54 +01:00
Joe Farebrother
c71586e1f8
Remove checks for dynamically registered recievers
2022-06-14 14:56:24 +01:00
Joe Farebrother
4aed1a1e23
Add test cases; fix handling of recievers declared through xml
2022-06-14 14:56:22 +01:00
Ian Lynagh
b524fb4f3a
Java: Add a test for cycles in the type hierarchy
2022-06-14 14:08:19 +01:00
Rasmus Wriedt Larsen
50196d099b
Inline Expectation Tests: sync
2022-06-03 11:39:57 +02:00
Chris Smowton
3d63cec1e8
Autoformat
2022-06-02 14:45:28 +01:00
Chris Smowton
ebb52adba6
Kotlin: add test for Java and Kotlin both extending Map.Entry
2022-06-02 13:30:39 +01:00
Chris Smowton
c1592cb1dc
Accept test changes
2022-06-02 10:31:35 +01:00
Tamas Vajk
89ffefd45e
Kotlin: Change return type of Android specific ConcurrentHashMap.keySet
2022-05-30 23:45:38 +02:00
Chris Smowton
1708719fdf
Merge pull request #9343 from smowton/smowton/fix/align-kotlin-java-generic-types
...
Kotlin: extract methods defined on collections types with their Java signatures
2022-05-30 17:52:58 +01:00
Chris Smowton
6ea87cd718
Accept test changes
2022-05-27 22:05:57 +01:00
Chris Smowton
9ea139566d
Disambiguate the names and trap labels of backing fields of extension properties
2022-05-27 16:27:48 +01:00
Chris Smowton
9c62b349ec
Autoformat
2022-05-27 13:36:55 +01:00
Chris Smowton
a0d5d414b4
Kotlin: extract methods defined on collections types with their Java signatures
...
Collection, List and Map all define various methods which are either made more generic in Kotlin (e.g. `remove(Object) -> remove(E)`, `containsAll(Collection<?>) -> containsAll(Collection<E>)`), or are made invariant (e.g. `addAll(Collection<? extends E>) -> addAll(Collection<E>)`). This substitutes the types back to their Java signatures,
thereby avoiding differing trap labels and duplicated methods for these types and their descendents.
2022-05-27 11:51:46 +01:00
Tony Torralba
9c941dc7ab
Add Kotlin test for UnsafeAndroidAccess
2022-05-25 10:56:18 +02:00
Tony Torralba
f0b90b391f
Add Kotlin test for CleartextStorageSharedPrefs
2022-05-25 10:56:18 +02:00
Chris Smowton
98ef22358e
Merge pull request #9213 from smowton/smowton/fix/inherited-single-abstract-method
...
Kotlin: fix implementation of SAM classes that inherit their abstract method
2022-05-24 18:22:55 +01:00
Michael Nebel
daace0fe68
Merge pull request #9270 from michaelnebel/csharp/summarized-callable-fix
...
C#: Summarized callable
2022-05-24 16:36:44 +02:00
Tamás Vajk
730f54ade2
Merge pull request #9280 from tamasvajk/kotlin-map-kj-properties
...
Kotlin: Fix missing kotlin to java property mapping
2022-05-24 13:16:29 +02:00
Ian Lynagh
07e450d513
Merge pull request #9269 from igfoo/igfoo/cfg
...
Kotlin: Fix CFG
2022-05-24 10:53:00 +01:00
Tamas Vajk
5a54218ac7
Kotlin: Fix missing kotlin to java property mapping
2022-05-24 10:03:17 +02:00
Tamas Vajk
19400249a9
Kotlin: Add test for missing kotlin to java property mapping
2022-05-24 10:02:32 +02:00
Michael Nebel
a8b103b89c
Java: Update dependencies.
2022-05-24 08:21:39 +02:00
Ian Lynagh
62ece16cf4
Kotlin: Accept test changes
2022-05-23 11:27:22 +01:00
Tamas Vajk
4732793fb6
Change type tests
...
Linux and MacOS produced different results, so the queried types are now limited to ones that are visible in the source code.
2022-05-23 10:39:22 +02:00
Tamas Vajk
d3e64f5135
Kotlin: extract non-private members of class supertypes
2022-05-23 10:39:22 +02:00
Tamas Vajk
b0c6db4cfc
Kotlin: add missing dataflow test for List::iterator
2022-05-23 10:39:22 +02:00
Tamas Vajk
ab920d31dc
Repro for kotlin-java difference with generic types
2022-05-23 10:39:22 +02:00
Chris Smowton
5119de8d22
Merge pull request #9238 from atorralba/atorralba/remove-xxe-sinks
...
Java: Remove org.dom4j.DocumentHelper:parseText as XXE sink
2022-05-21 17:33:06 +01: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
98f70dc7d3
Remove org.dom4j.DocumentHelper:parseText as XXE sink
2022-05-20 14:45:26 +02: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
4eddb6224b
Kotlin: Format a query
2022-05-20 12:07:35 +01:00
Ian Lynagh
df9f75832c
Kotlin: Fix diagnostics test
2022-05-20 12:07:35 +01:00
Ian Lynagh
f7fa00ef6c
Kotlin: Accept test output
2022-05-20 12:07:35 +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
Chris Smowton
e80254b0a6
Fix generated implementation of an inherited single abstract method
...
For example, UnaryOperator<T> extends Function<T, T> without overriding / defining its own `apply` method.
2022-05-19 20:57:54 +01:00
Ian Lynagh
e319ab1b70
Kotlin: Format a query
2022-05-19 13:56:04 +01:00