Chris Smowton
dfdfd39bcc
Merge pull request #10732 from smowton/smowton/fix/kotlin-enum-corresponding-classes
...
Koltin: Extract the corresponding classes of enum entries
2022-10-10 15:04:02 +01:00
Tamas Vajk
544e2e4107
Remove path based generated file classification
2022-10-10 14:42:15 +02:00
Tamás Vajk
1cf2db1a0b
Merge pull request #10718 from tamasvajk/kotlin-internal-repr
...
Kotlin: ignore properties in `java/internal-representation-exposure` check
2022-10-10 13:58:55 +02:00
Tamás Vajk
87b971c78f
Merge pull request #10728 from tamasvajk/kotlin-missing-override-sam
...
Kotlin: Extract `override` modifier on SAM methods
2022-10-10 13:58:28 +02:00
Tamás Vajk
cd8ac1a835
Merge pull request #10720 from tamasvajk/kotlin-equals-fix
...
Kotlin: Consider `::class` type check in `java/unchecked-cast-in-equals`
2022-10-10 13:58:15 +02:00
Chris Smowton
bef4011947
Kotlin: fix type variable erasure inside default function values
...
Previously because extractClassInstance didn't use the declaration stack, we wouldn't notice that it was legal to refer to its type variable in the context of extracting a specialised method <-> method source-decl edge. This led to erasing the types of the source-decl, so that e.g. Map.put(...) would have signature (Object, Object) not (K, V)
as it should.
2022-10-07 17:31:38 +01:00
Chris Smowton
2df1d63d1c
Extract the corresponding classes of enum entries, where they exist.
2022-10-07 12:23:08 +01:00
Tamas Vajk
26c4216fef
Kotlin: Extract override modifier on SAM methods
2022-10-07 11:23:14 +02:00
Tamas Vajk
9f6240b38c
Kotlin: Add test for missing override modifier on SAM methods
2022-10-07 11:22:15 +02:00
Tamas Vajk
f51c13f0c1
Kotlin: Recognize generated files
2022-10-07 09:32:00 +02:00
Tamas Vajk
51f9314a50
Kotlin: Consider ::class type check in equals
2022-10-07 09:23:01 +02:00
Tamas Vajk
f7f12076df
Kotlin: Add test case for ::class type check in equals
2022-10-07 09:22:10 +02:00
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