Tianyu Geng
4726dcce40
FIR DFA: smartcast variable to Nothing? on null assignment
...
In order to make resolution still work for members not available from
`Nothing`, we track the type without `Nothing?` and use that for
resolution instead.
2021-08-06 22:57:15 +03:00
Tianyu Geng
0026560bd7
FIR: substitute the whole lambda body after builder inference
2021-08-06 22:57:13 +03:00
Victor Petukhov
1966915e92
Create DONT_CARE type only for dependent lambdas (i.e. to be resolved through the type inference later)
...
^KT-47493 Fixed
2021-08-06 13:27:56 +03:00
Andrey Zinovyev
06b23d5937
[FIR] Improve the control flow graph around try expressions
...
1. throw goes to catches instead of main exist block
2. return goes via finally (single level only supported atm)
3. collect non-direct return to retrieve all return expressions easier
2021-08-06 11:49:34 +03:00
Dmitry Petrov
02d8c7527e
JVM_IR more aggressive if-null expressions fusion
...
Assume that changing a return type from T to T?
is not a binary-compatible change.
2021-08-05 17:51:49 +03:00
Victor Petukhov
b6cb393796
Check postponed type variables to determine suitability for builder inference (during shouldRunCompletion check) more careful
...
^KT-42139 Fixed
2021-08-04 17:36:53 +03:00
Victor Petukhov
cf3bd016be
Always complete calls not related to the builder inference
...
^KT-47830 Fixed
2021-08-04 17:36:52 +03:00
Igor Laevsky
af865544ff
WASM: Implement string hashcode
2021-08-04 16:23:38 +03:00
Igor Laevsky
c526145a48
WASM: Disable bunch of tests which expose the same issue after switch to the wasm native strings
2021-08-04 16:23:37 +03:00
Dmitry Petrov
bd71fbe982
JVM_IR KT-34594 strip fake variable initialization during inlining
2021-08-03 20:41:31 +03:00
Dmitry Petrov
37050e0616
JVM_IR KT-34594 don't generate fake local variable for @InlineOnly
2021-08-03 20:41:31 +03:00
Dmitriy Novozhilov
d17f984edf
[FE 1.0] Migrate most of warning/error pairs to DiagnosticFactoryForDeprecation
2021-08-03 00:17:33 +03:00
Dmitriy Novozhilov
199ec60742
[JVM] Reduce number of param slots for string concatenation
...
With paramSlot = 200 those tests fails on JDKs which are newer than JDK 9
- testConcatDynamic200Long
- testConcatDynamicIndy200Long()
2021-08-01 22:23:48 +03:00
Dmitriy Novozhilov
5206b45ce3
[Test] Use JDK 11 instead of JDK 9 in modern jdk tests
2021-08-01 22:23:47 +03:00
Dmitriy Novozhilov
17fc1da719
[Reflection] Support java records in kotlin reflection
...
^KT-47760
2021-08-01 22:23:46 +03:00
Dmitriy Novozhilov
8dad8fa813
[Reflection] Support java sealed classes in kotlin reflection
...
^KT-46778
2021-08-01 22:23:45 +03:00
Dmitriy Novozhilov
fa1d09c778
[FE 1.0] Support java sealed classes
...
^KT-46778 Fixed
2021-08-01 22:23:45 +03:00
Dmitriy Novozhilov
1fa74ef939
[Test] Move test on modern jdk to separate test runners
...
This is needed to avoid problems with installation of proper jdk
on developer machines. Those tests will be moved back to main box
suites after migrating our tests on LTS versions of jdk (11 and 17
instead of 9 and 15)
2021-08-01 22:23:43 +03:00
Dmitriy Novozhilov
de73622af9
[Test] Mark BB tests on modern jdks with tag and ignore them in different-jdk tests
2021-08-01 22:23:42 +03:00
Dmitriy Novozhilov
b9c549803d
[Test] Replace public fun box() with fun box() in all box tests
2021-08-01 22:23:40 +03:00
Dmitriy Novozhilov
c168a561df
[Test] Migrate tests for java 15 to regular test infrastructure
2021-08-01 22:23:39 +03:00
Dmitriy Novozhilov
4f73ebbcbd
[Test] Migrate tests for java 9 to regular test infrastructure
2021-08-01 22:23:39 +03:00
Alexander Udalov
3636118743
Introduce typealias JvmRepeatable for j.l.a.Repeatable
...
#KT-12794 Fixed
2021-07-30 19:53:44 +02:00
Alexander Udalov
0a6d010d1c
Support new repeatable annotations in kotlin-reflect
...
- Unwrap Kotlin-repeatable annotations (with implicit container)
- Introduce `KAnnotatedElement.findAnnotations` to find instances of
repeated annotations
#KT-12794
2021-07-30 19:53:33 +02:00
Alexander Udalov
26043f3968
Generate Java @Repeatable on Kotlin-repeatable annotation classes
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
92a73d7636
Generate container class for repeatable annotations
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
87130edfa2
Support using Java-repeatable annotations in Kotlin
...
#KT-12794
2021-07-30 19:53:32 +02:00
Dmitry Petrov
ca5ebdc13c
PSI2IR KT-44855 propagate smart cast information for property values
2021-07-29 21:41:50 +03:00
Alexander Udalov
b442e598d3
Fix test data of codegen tests for KT-47328 for 1.6
2021-07-29 19:45:55 +02:00
Mikhael Bogdanov
c9c82ab3a6
Update test affected by SafeCallsAreAlwaysNullable feature
2021-07-29 19:45:55 +02:00
Mikhael Bogdanov
70fe984738
Update classTypeParameter.kt test
2021-07-29 19:45:55 +02:00
Mikhael Bogdanov
0cccb76652
Update tests affected by ProperTypeInferenceConstraintsProcessing feature
2021-07-29 19:45:54 +02:00
Mikhael Bogdanov
235359e028
Ignore tests cause of KT-47542
...
#KT-47542
2021-07-29 19:45:54 +02:00
Mikhael Bogdanov
1fe1c197ee
Mute WASM safeAccess.kt test
...
Update JS tests
2021-07-29 19:45:54 +02:00
Mikhael Bogdanov
38fb5e16ef
Update test affected by ApproximateIntegerLiteralTypesInReceiverPosition feature
2021-07-29 19:45:54 +02:00
Mikhael Bogdanov
7cbd6908f9
Update test affected by ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated feature
2021-07-29 19:45:53 +02:00
Dmitry Petrov
38d6c8ded0
JVM_IR generate range loops as counter loops when possible
2021-07-29 20:45:14 +03:00
Victor Petukhov
20d50cfee7
Prevent leaking of type parameter erasion results cache into static scope
2021-07-29 14:23:55 +03:00
Victor Petukhov
6706ee87ad
Introduce TypeParameterUpperBoundEraser to memorize results of type parameters erasion computation
...
^KT-47785 Fixed
2021-07-29 14:23:54 +03:00
pyos
e9b177352c
JVM_IR: do not inline reads of constructor arguments into accessors
2021-07-28 02:16:01 +02:00
Alexander Udalov
104188c035
Render annotation arguments in bytecodeListing tests
2021-07-26 14:33:30 +02:00
Dmitry Petrov
34f5b85ae5
IR KT-47840 fix-point solution for closure conversion
2021-07-23 14:58:23 +03:00
Alexander Udalov
3b513ba299
Minor, add test on typeOf subtyping with mutable collections
2021-07-22 15:55:15 +02:00
Leonid Startsev
83c1a75c1e
Revert "Revert "Instantiation of annotations for JVM IR with the corresponding feature flag""
...
Fix incorrectly rebased ce0a3a57df
This reverts commit 3d0126d5
2021-07-21 18:24:07 +03:00
Igor Laevsky
865ad3698b
WASM: Fix flaky test
2021-07-21 16:53:45 +03:00
Leonid Startsev
3d0126d5dd
Revert "Instantiation of annotations for JVM IR with the corresponding feature flag"
...
because of incorrect rebase
This reverts commit ce0a3a57
2021-07-21 15:23:24 +03:00
Leonid Startsev
ce0a3a57df
Instantiation of annotations for JVM IR with the corresponding feature flag
...
Seperate checker for platforms that do not support this language feature yet
Synthetic implementations of annotations are generated on-demand with proper
equals, hashCode, and annotationType methods
#KT-47699 Fixed
2021-07-21 10:23:51 +00:00
Mads Ager
6436a1686d
[JVM_IR] Recursively perform constant lowering.
...
Otherwise constants in child expressions are not transformed.
^KT-47716 Fixed.
2021-07-21 02:11:41 +02:00
Mads Ager
2877f1cabe
[JVM_IR] Fix check for inline class property backing in lowering.
...
The inline class lowering would attempt to lower a companion object
property backing field.
^KT-47762 Fixed.
2021-07-21 01:56:46 +02:00
Dmitry Petrov
8763235053
JVM specially hacked method analyzer for FixStack
2021-07-20 19:50:58 +03:00