Tamas Vajk
cd64faf635
Kotlin: ignore properties in java/internal-representation-exposure check
2022-10-07 09:13:14 +02:00
Tamas Vajk
e9a304bad0
Kotlin: Add test for exposed internal representation
2022-10-07 09:12:36 +02:00
Chris Smowton
86e5e4c4bc
Accept test changes
2022-10-06 12:40:04 +01:00
Chris Smowton
020f29a1ab
Add visibility tests
2022-10-06 12:40:03 +01:00
Chris Smowton
bec948682d
Fix calls to static methods defined in association with local functions
...
These are a bit weird since they involve static calls to unnamed synthetic class members, but while unwriteable as Java they ought to work as a database description.
2022-10-06 12:40:03 +01:00
Chris Smowton
3452dcbced
Fix class type parameter erasure within $default methods
2022-10-06 12:40:02 +01:00
Chris Smowton
03c895853b
Clarify test and accept test changes
2022-10-06 12:40:02 +01:00
Chris Smowton
34a0a0d080
Implement $default method synthesis
...
This adds methods that fill in default parameters whenever a constructor or method uses default parameter values. I use as similar an approach to the real Kotlin compiler as possible both because this produces the desirable dataflow, and because it should merge cleanly with the same class file seen by the Java extractor, which will see and
extract the signatures of the default methods.
2022-10-06 12:38:55 +01:00
Tamas Vajk
0bbc7adca0
Accept test changes
2022-10-06 08:45:57 +02:00
Tamas Vajk
46fb9865ac
Add lateinit test to print the extracted AST
2022-10-05 16:09:00 +02:00
Tamas Vajk
082544e88c
Kotlin: Extract lateinit modifier
2022-10-05 15:25:49 +02:00
Tamas Vajk
61a05c2b6c
Kotlin: add lateinit declarations to modifiers test
2022-10-05 15:25:15 +02:00
Tamás Vajk
d0d8ef1236
Merge pull request #10672 from tamasvajk/kotlin-unary-op
...
Kotlin: extract unary plus and minus operators
2022-10-05 13:30:21 +02:00
Tamás Vajk
ecfbd5edfe
Merge pull request #10674 from tamasvajk/kotlin-implements
...
Kotlin: extract `implInterface`
2022-10-05 09:11:41 +02:00
Tamás Vajk
d0ea7ea2e3
Merge pull request #10677 from tamasvajk/kotlin-param-modifiers
...
Kotlin: Extract parameter modifiers (`noinline`, `crossinline`)
2022-10-04 21:53:48 +02:00
Tamás Vajk
c45a04a2c8
Merge pull request #10675 from tamasvajk/kotlin-enum-constants
...
Kotlin: extract `isEnumConstant` relation
2022-10-04 21:53:22 +02:00
Tamas Vajk
ea0a04a74f
Kotlin: extract unary plus and minus operators
2022-10-04 15:18:35 +02:00
Tamas Vajk
2e72ec748f
Kotlin: add numeric unary operator test cases
2022-10-04 15:18:35 +02:00
Ian Lynagh
db673c0355
Merge pull request #10646 from tamasvajk/kotlin-java-kotlin-function-mapping
...
Kotlin: Simplify `kotlinFunctionToJavaEquivalent`
2022-10-04 13:46:22 +01:00
Tamas Vajk
81fffce79b
Kotlin: Extract parameter modifiers (noinline, crossinline)
2022-10-04 14:02:06 +02:00
Tamas Vajk
09051e76cf
Kotlin: extract isEnumConstant relation
2022-10-04 13:30:02 +02:00
Tamas Vajk
876bea653d
Kotlin: Add test case for missing enum constants
2022-10-04 13:29:15 +02:00
Tamas Vajk
d2861361d9
Kotlin: extract implInterface
2022-10-04 13:12:01 +02:00
Tamas Vajk
d50be83f57
Kotlin: add test to distinguish implements vs extends
2022-10-04 13:10:19 +02:00
Tamas Vajk
2c467376ea
Revert "Only log once the missing java-kotlin method mapping warnings"
...
This reverts commit 7524f3372d .
2022-10-04 08:54:07 +02:00
Ian Lynagh
01fe465bdf
Kotlin: Make MiniStdLib more closely match the real stdlib
2022-10-03 16:16:11 +01:00
Chris Smowton
5e2c607650
PrintAst: reliably sort function overloads
2022-10-03 15:28:55 +01:00
Chris Smowton
d3d3ce843a
Kotlin: Implement JvmOverloads annotation
...
This generates functions that omit parameters with default values, rightmost first, such that Java can achieve a similar experience to Kotlin (which represents calls internally as if the default was supplied explicitly, and/or uses a $default method that supplies the needed arguments).
A complication: combining JvmOverloads with JvmStatic means that both the companion object and the surrounding class get overloads.
2022-10-03 15:28:55 +01:00
Tamas Vajk
7524f3372d
Only log once the missing java-kotlin method mapping warnings
2022-10-03 11:55:39 +02:00
Tamas Vajk
ffc7e6b7b6
Extract bit not expression
2022-10-03 10:30:46 +02:00
Tamas Vajk
54b210f176
Extract logical not expression
2022-10-03 10:23:40 +02:00
Tamas Vajk
a2d0b38a6d
Kotlin: extract all binary numeric operators
2022-10-03 09:52:00 +02:00
Tamas Vajk
343e45ee0f
Fix kotlinFunctionToJavaEquivalent to ignore nullability
2022-09-30 17:39:42 +02:00
Tamas Vajk
e490a854ce
Simplify kotlinFunctionToJavaEquivalent and accept consistency errors
2022-09-30 16:28:26 +02:00
Tamas Vajk
c4487110db
Accept consistency check findings
2022-09-30 16:28:26 +02:00
Tamas Vajk
121a5645b8
Kotlin: extract operator expression when operator is in method call form
2022-09-30 13:48:53 +02:00
Tamas Vajk
0f9b6d4a8b
Kotlin: Add test cases for operators being called by name
2022-09-30 13:46:57 +02:00
Ian Lynagh
f1f205555a
Kotlin: Add a ministdlib test
...
This should make it easier to diagnose certain kinds of problems.
2022-09-29 18:19:50 +01:00
Tamas Vajk
b79c10c419
Kotlin: find java-kotlin equivalent functions by erased parameter types
2022-09-29 14:29:22 +02:00
Tamas Vajk
64c953bee0
Kotlin: add test for not found equivalent of MutableList.remove
2022-09-29 14:24:09 +02:00
Tamás Vajk
9358070ae9
Merge pull request #10506 from tamasvajk/kotlin-enum-type-access
...
Kotlin: Fix type access expressions in enum constructor calls
2022-09-27 12:42:30 +02:00
Tamás Vajk
8a6d56a57d
Merge pull request #10520 from tamasvajk/kotlin-fix-anonymous-object-comment
...
Kotlin: Fix comment extraction for anonymous objects
2022-09-27 12:42:05 +02:00
Chris Smowton
f774467892
Kotlin: annotation properties should be java.lang.Class not KClass
...
As documented at https://kotlinlang.org/docs/annotations.html#constructors , annotation properties of type KClass get rewritten when targeting the JVM.
2022-09-25 11:53:50 +01:00
Tamas Vajk
d6e31af985
Kotlin: Fix non-nested local class extraction
2022-09-23 11:23:21 +02:00
Tamas Vajk
b4eb4ec837
Kotlin: Add test case for top level local class extraction
2022-09-23 11:19:09 +02:00
Tamas Vajk
633f99df6c
Kotlin: Fix comment extraction for anonymous objects
2022-09-21 17:15:11 +02:00
Tamas Vajk
7927e1dcd4
Kotlin: Add test case for comment on an anonymous object
2022-09-21 17:12:19 +02:00
Tamas Vajk
01a2d16974
Kotlin: Fix type access expressions in enum constructor calls
2022-09-21 10:32:27 +02:00
Tamas Vajk
9a6b17df0e
Kotlin: Add async-await dataflow test case
2022-09-19 13:38:48 +02:00
Tamas Vajk
85d883c647
Kotlin: add test to show suspend function inconsistency between source and bytecode extraction
2022-09-19 13:38:43 +02:00