Mads Ager
6a959fefd0
[JVM_IR] Fix accessibility bridges for static protected fields.
...
Super-qualifiers have to be taken into account. Otherwise, too
few accessibility bridges will be generated which can lead to
binary compatibility issues.
2021-02-02 12:46:08 -08:00
Dmitriy Novozhilov
4bf6e58f2b
[TD] Fix directive order in codegen testdata
2021-02-02 20:37:47 +03:00
Dmitriy Novozhilov
a4e9ab90a0
[Test] Migrate :tests-different-jdk on runners which are using JUnit5
2021-02-02 17:54:51 +03:00
Dmitriy Novozhilov
3199ce03a6
[Test] Merge box against java testdata into codegen black box testsdata
2021-02-02 17:54:49 +03:00
Dmitriy Novozhilov
e62b118351
[TD] Ignore JS backends in boxAgainstJava tests
2021-02-02 17:54:49 +03:00
Dmitriy Novozhilov
99cb85ab00
[Test] Merge box against java tests into codegen black box tests
2021-02-02 17:54:47 +03:00
Dmitriy Novozhilov
49c2bfe637
[Test] Enable SMAP dump handler in boxInline tests
2021-02-02 17:53:53 +03:00
Dmitriy Novozhilov
64a300bfcd
[TD] Update testdata according to previous commit
2021-02-02 17:53:52 +03:00
Dmitriy Novozhilov
8973e3f362
[TD] Update fir directives in boxInline tests
2021-02-02 17:50:07 +03:00
Dmitriy Novozhilov
fc83dc17fe
[Test] Support USE_OLD_INLINE_CLASSES_MANGLING_SCHEME directive
2021-02-02 17:50:06 +03:00
Dmitriy Novozhilov
0768a7089c
[TD] Fix friend modules
2021-02-02 17:50:06 +03:00
Dmitriy Novozhilov
5075484c8e
[TD] Update directives in kotlinAgainstKotlin testdata
2021-02-02 17:50:05 +03:00
Dmitriy Novozhilov
5c8d555808
[Test] Move KotlinAgainstKotlin tests under BlackBoxCodegen tests
2021-02-02 17:50:05 +03:00
Mikhael Bogdanov
1ea4fa4464
Fix android test with type annotations. Remove obsolete JVM 8 flavors
...
Remove some new test cause their originals would be executed on JvmTarget6OnJvm8
2021-02-02 14:32:50 +01:00
Mikhael Bogdanov
c13f38f6df
Support proper frame maps for enumValues
2021-02-02 14:32:50 +01:00
Mikhael Bogdanov
1a044e5af4
Support proper frame maps for enum valueOf
2021-02-02 14:32:50 +01:00
Mikhael Bogdanov
16928d6e3f
Don't remove checkcast for reified values
...
#KT-35511 Fixed
2021-02-02 14:32:50 +01:00
Mikhail Glukhikh
465261e611
FIR: don't create intersection override for duplicating symbols
2021-02-02 16:25:08 +03:00
Nicola Corti
5de34b052f
Remove unsupported '!' from DIAGNOSTICS directive
2021-02-02 01:30:33 -08:00
Nicola Corti
e2b7aba086
Do not report UNNECESSARY_SAFE_CALL on ErrorType
2021-02-02 12:10:56 +03:00
Igor Yakovlev
9f282e0ddc
[FIR] Do not erase type arguments for unresolved method calls
2021-02-01 21:21:02 +03:00
Alexander Udalov
5480faf5c5
Add tests for issues fixed in JVM IR and other obsolete issues
...
#KT-6007
#KT-16445
#KT-17753
#KT-22488
#KT-23881
#KT-24135
#KT-26360
#KT-27427
#KT-27449
#KT-27830
#KT-28042
#KT-29595
#KT-30708
#KT-32793
2021-02-01 18:29:59 +01:00
Mads Ager
593fb8770b
[FIR] Fix lookup order for statics in super chains
...
The order was reversed and the static in the top-most class
in the inheritance hierarchy would be found instead of the
lowest one.
2021-02-01 18:32:55 +03:00
Dmitry Petrov
4ec369ac5b
JVM_IR fix special bridge generation for inline classes
2021-02-01 17:57:58 +03:00
Alexander Udalov
8172ae5d89
Fix codegen test classLiteralWithExpectedType.kt on Android
...
Similar to changes in d022bb0248 , this test started to fail because
`AnnotationTarget.TYPE` is mapped to `ElementType.TYPE_USE` if JVM
target is >= 1.8. In codegen tests on Android, we're running the
emulator of version 19 which is less than 26, where `TYPE_USE` has first
appeared.
2021-02-01 15:54:01 +01:00
pyos
ad53fc931e
JVM: optimize temporary kotlin.jvm.internal.Refs as well
...
i.e. remove the condition that there must be an LVT entry. Such
temporary `Ref`s can be created, for example, by the JVM_IR backend
if a lambda inlined at an IR level (e.g. argument to `assert`/`Array`)
is the target of a non-local return from a function inlined at bytecode
level (e.g. `run`):
IntArray(n) { i ->
intOrNull?.let { return@IntArray it }
someInt
}
->
val `tmp$0` = IntArray(n)
for (i in 0 until `tmp$0`.size) {
var `tmp$1`: Int
do {
intOrNull?.let {
`tmp$1` = it // causes `tmp$1` to become an IntRef
break
}
`tmp$1` = someInt
} while (false)
`tmp$0`[i] = `tmp$1`
}
2021-02-01 15:51:31 +01:00
pyos
0f2ca5d84c
JVM_IR: support non-local break/continue in the inliner
...
Not in the frontend or psi2ir, though, so this not a complete
implementation of KT-1436, but rather a part of it that is currently
useful to make other code compile. In particular, lambdas passed to
array constructors and JVM-style `assert` are inlined as IR returnable
blocks, which are then converted into `do { ... } while (false)` loops,
so non-local returns from them become non-local `break`s.
2021-02-01 15:51:31 +01:00
Pavel Kirpichenkov
8f675fe757
Split combined test into two to avoid flaky behaviour
...
Prevent simultaneous access to the library directory
2021-02-01 15:09:13 +03:00
eugenpolytechnic
9ad88a5a0d
FIR: introduce parameter type is Throwable check
2021-02-01 15:07:21 +03:00
eugenpolytechnic
5c0231b727
FIR: introduce CatchParameterChecker
2021-02-01 15:07:13 +03:00
Alexander Udalov
adfa8c788c
Light classes: use JVM target from the module
...
Using "JVM_1_8" always resulted in incorrect mapping of Kotlin
annotation targets to Java element types.
The change in AbstractKotlinRenderLogTest is needed because while
CliTraceHolder.module is technically a descriptor leak, it was never
detected by this test accidentally, because of the depth cutoff equal to
10, which started to not be enough after the minor refactoring of
replacing `Delegates.notNull` with `lateinit`.
2021-02-01 11:54:05 +01:00
Alexander Udalov
64e97225b8
Light classes: map annotation targets depending on JVM target
...
Since the default JVM target (`JvmTarget.DEFAULT`) is now 1.8, the
changed test started to fail. This change fixes it.
2021-02-01 11:54:04 +01:00
Alexander Udalov
d022bb0248
Switch default JVM target to 1.8
...
#KT-29405 Fixed
2021-02-01 11:54:04 +01:00
Alexander Gorshenev
6265ac8c19
Re-enabled disabled test
2021-01-30 17:41:54 +03:00
Mikhael Bogdanov
9f9c8e3d77
Mute stream api test on Android
2021-01-29 18:22:16 +01:00
Mikhael Bogdanov
be9ef8f3c8
Remove obsolete DxChecker
2021-01-29 17:47:37 +01:00
Steven Schäfer
482e217b5e
JVM IR: Fix inline class mangling for calls to internal functions
...
...in a different module, e.g., using -Xfriend-paths.
2021-01-29 16:23:15 +01:00
Mikhail Glukhikh
7d4eaefd36
FIR: report UNSAFE_CALL on dot when possible
2021-01-29 16:55:26 +03:00
Mikhail Glukhikh
0ee4f1f393
FIR: more exact nullability determination in potential UNSAFE_CALL check
2021-01-29 16:55:09 +03:00
Jinseong Jeon
e72ddbcbfe
FIR checker: differentiate UNSAFE_CALL from INAPPLICABLE_CANDIDATE
...
To do so, inside the root cause of inapplicable candidate errors,
we will record expected/actual type of receiver, if any.
That will help identifying inapplicable calls on nullable receiver.
2021-01-29 16:54:23 +03:00
Mikhail Glukhikh
4b823eca21
Fix test data (FIR_IDENTICAL)
2021-01-29 16:54:17 +03:00
Victor Petukhov
9efac8f68b
Propagate all annotations during creating simple functional types
...
^KT-44563 Fixed
2021-01-29 13:50:46 +03:00
Dmitry Petrov
5d7dc5fa39
JVM_IR indy-SAM conversions: minor updates
...
See: KT-44575 KT-44577
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:48 +03:00
Dmitry Petrov
f34224ecee
JVM_IR indy-SAM conversions: tests for function references equality
...
(SAM conversion using LambdaMetafactory is not used for function refs).
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:48 +03:00
Dmitry Petrov
f0abd8bc68
JVM_IR indy-SAM conversions: prohibit in crossinline lambdas
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:47 +03:00
Dmitry Petrov
ad1d80d700
JVM_IR indy-SAM conversions: add more tests
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:47 +03:00
Dmitry Petrov
98b0c07b18
JVM_IR indy-SAM conversions: inline funs and lambdas
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:47 +03:00
Dmitry Petrov
4da2f3d9d4
JVM_IR indy-SAM conversions: use old scheme for suspend funs
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:46 +03:00
Dmitry Petrov
1f16b96796
JVM_IR indy-SAM conversions: inline classes
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:46 +03:00
Dmitry Petrov
f30e25aa52
JVM_IR indy-SAM conversions: more cases
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:45 +03:00