Chris Smowton
0d0d240fd4
Accept test changes re: new compiler-generated nodes
2022-06-30 15:29:20 +01:00
Chris Smowton
8214c3b78e
Add AST dump for JvmStatic annotation test
2022-06-30 13:11:43 +01:00
Chris Smowton
466cf7573b
Autoformat
2022-06-30 12:42:39 +01:00
Chris Smowton
b4124ac553
Add test
2022-06-30 12:42:39 +01:00
Ian Lynagh
b6790ef735
Merge pull request #9725 from igfoo/igfoo/inline
...
Kotlin: Extract inlineability of functions
2022-06-28 10:21:30 +01:00
Ian Lynagh
4a404aee76
Kotlin: Add inline info to methods test
2022-06-27 19:27:26 +01:00
Ian Lynagh
7dc490ff7c
Kotlin: Enhance methods test
2022-06-27 17:59:52 +01:00
Ian Lynagh
73a79e064c
Kotlin: Accept test output
2022-06-24 16:24:41 +01:00
Ian Lynagh
008a8f0bba
Kotlin: Add an enum class to the methods test
2022-06-24 14:00:47 +01:00
Ian Lynagh
c5d6ca7afc
Kotlin: Accept method test changes
2022-06-24 14:00:47 +01:00
Ian Lynagh
c0600820ac
Kotlin: Update methods test
2022-06-24 14:00:47 +01:00
Ian Lynagh
aefd89ed49
Kotlin: Add compiler-generated info to methods test
2022-06-24 14:00:47 +01:00
Tamás Vajk
381bcf7dad
Merge pull request #9153 from tamasvajk/kotlin-simplify-loop-breaks-1
...
Kotlin: Unify loop `break`/`continue` statement handling between java and kotlin
2022-06-24 14:45:57 +02:00
Chris Smowton
d0e521ef4a
Merge pull request #9681 from smowton/smowton/fix/reintroduce-obinit
...
Kotlin: reintroduce obinit when we have multiple secondary constructors and no primary
2022-06-24 10:25:24 +01:00
Chris Smowton
af5230349b
Kotlin: reintroduce obinit when we have multiple secondary constructors and no primary
...
This avoids DB inconsistencies because complex initialisers are extracted to more than one function.
2022-06-23 16:26:54 +01:00
Chris Smowton
1aae3c5f5e
Fix whenexpr test
...
Prior to Kotlin 1.7 the gratuitous `?` was ignored for typing purposes; now it yields a `String?`. We should make the test work everywhere by using a real nullable type.
2022-06-23 15:34:40 +01:00
Tamas Vajk
e65a046235
Fix test file after rebase
2022-06-23 09:51:48 +02:00
Tamas Vajk
dabc956dbf
Unify loop break/continue statement handling between java and kotlin
2022-06-23 08:45:11 +02:00
Chris Smowton
44cf260762
Merge pull request #9571 from smowton/smowton/fix/array-variance-lowering
...
Kotlin: Implement array type variance lowering
2022-06-22 13:38:21 +01:00
Tamás Vajk
c0e115700d
Merge pull request #9647 from tamasvajk/kotlin-when-branch-encl-stmt
...
Kotlin: Fix enclosing statement of `when` branches
2022-06-22 13:18:56 +02:00
Tamas Vajk
a50e062b3c
Kotlin: Fix enclosing statement of when branches
2022-06-22 09:10:27 +02:00
Tamas Vajk
640026d387
Kotlin: add enclosing statement test
2022-06-22 09:09:57 +02:00
Michael Nebel
2e46e93f36
Java: Update java models with provenance column information.
2022-06-20 16:20:02 +02: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
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
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
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
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
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