Dmitriy Novozhilov
9c41e75802
[KAPT] Migrate kapt tests to new test infrastructure
2022-07-20 10:12:24 +00:00
Dmitriy Novozhilov
7aaecf272b
[Test] Move configuration of JS specific flags into JsEnvironmentConfigurator
2022-07-20 10:12:23 +00:00
Sergej Jaskiewicz
ea556ce428
[JS IR] Implement stepping tests for Kotlin/JS
...
We already have stepping tests for Kotlin/JVM.
They are helpful for testing the correctness of the generated
debugging information.
They are better than line number tests in that they allow to test the
_behavior_, not the generated data. The structure of the data may change
even if the behavior stays the same. For that reason, stepping tests
are more stable.
2022-07-19 16:06:23 +00:00
Sergej Jaskiewicz
003f846723
Make expectations in stepping tests more flexible
...
We can now write expectations in the following form:
// EXPECTATIONS [backends...] [frontends...]
Backends are specified as in the TargetBackend enum.
Frontends are specified as in the FrontendKinds object.
This will make it more suitable for supporting Kotlin/JS in stepping
tests.
For example, for expectations that match only JVM backends with the
classic frontend, we use:
// EXPECTATIONS JVM JVM_IR ClassicFrontend
2022-07-19 16:06:22 +00:00
Pavel Mikhailovskii
846537b367
KT-45375 Lightweight lambdas; KT-52817 introduce @JvmSerializableLambda
2022-07-18 17:10:07 +02:00
Alexander Udalov
bd0fe2f146
Remove dependency of compiler tests on fir2ir tests
...
Compiler tests use the old test infrastructure, but fir2ir tests use the
new one (tests-common-new). Removing this dependency means that now the
two big modules, `:compiler:compileTestKotlin` and
`:compiler:tests-common-new:compileTestKotlin` can be compiled in
parallel, which improves the total build time.
2022-07-18 13:13:01 +02:00
Pavel Mikhailovskii
fd5800e8b5
KT-53090 Support -Xlambdas=indy for anonymous functions
2022-07-18 08:18:05 +00:00
Alexander Udalov
b50d2ff20a
Revert "JVM IR: Move direct invoke optimization into a separate pass"
...
This reverts commit f0760e0550 .
The reason is that it leads to KT-53202.
2022-07-15 18:29:07 +02:00
Mikhail Glukhikh
83200f8774
FIR: Support inferring PRIVATE_TO_THIS visibility see KT-49875
2022-07-15 07:57:41 +00:00
Steven Schäfer
8014712569
JVM IR: Check that we generate callable references in tests
2022-07-14 23:24:18 +02:00
Steven Schäfer
f0760e0550
JVM IR: Move direct invoke optimization into a separate pass
...
This also changes the transformation to inline the body of a directly
invoked lambda rather than producing a call to an anonymous local
function. The latter is unsupported in inline functions and problematic
from an ABI perspective, since it results in functions whose name
depends on the entire source code up to this point.
2022-07-14 23:24:18 +02:00
Pavel Mikhailovskii
b26155dd9e
KT-53007 Fix accessibility checks when calling a protected member via super@Outer
2022-07-14 13:09:42 +02:00
Mikhail Glukhikh
801426d0e6
Simplify creation of FirRenderer
2022-07-14 09:38:44 +00:00
Mikhail Glukhikh
31a46866b6
Extract separate FirPropertyAccessorRenderer
2022-07-14 09:38:41 +00:00
Mikhail Glukhikh
3fe35e6997
Extract separate FirCallArgumentsRenderer
2022-07-14 09:38:39 +00:00
Mikhail Glukhikh
7c27e6f843
FirRenderer: partially get rid of RenderMode
2022-07-14 09:38:37 +00:00
Mikhail Glukhikh
089044e5b0
FirRenderer: get rid of direct Visitor usages
2022-07-14 09:38:34 +00:00
Mikhail Glukhikh
f64a7d3ff9
FirRenderer: extract separate printer & visitor
2022-07-14 09:38:32 +00:00
Mikhail Glukhikh
38d6f3d548
Move FirRenderer to separate package
2022-07-14 09:38:31 +00:00
Mikhail Glukhikh
475e40b3e4
K1: report warning for inline virtual member in enum #KT-53148 Fixed
...
Related to KT-34372
2022-07-14 07:59:33 +00:00
Mikhail Glukhikh
70e15b281c
K2: fix exception in deserializer for external setter #KT-53031 Fixed
2022-07-13 17:06:14 +00:00
Pavel Kunyavskiy
5cdda48487
[K/N] Extract const val initializers to place of usage
...
This would make behaviour more consistent with jvm. There is still
a difference in behaviour about point where side effects happen.
^KT-52970
2022-07-13 08:49:40 +00:00
Igor Chevdar
e36bd5fe90
[box-tests] Added a multi-module box test
2022-07-13 08:01:51 +00:00
Mikhail Glukhikh
c92d685415
FIR: postpone callable reference candidate in default argument case
...
#KT-53019 Fixed
2022-07-12 12:22:34 +00:00
Vladimir Sukharev
fd52f475cb
Devirtualization fails to eliminate boxing in function reference context
...
^KT-49847 Fixed
Merge-request: KT-MR-6460
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-07-12 08:26:27 +00:00
pyos
06c7572ee5
FIR CFG: process called-in-place lambdas as loops
2022-07-11 18:11:30 +03:00
Victor Petukhov
cb2dbca0c3
[FE 1.0] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:07 +00:00
Victor Petukhov
9f72193d57
[FE 1.0] Support BB tests with foreign annotations
2022-07-11 12:44:07 +00:00
Victor Petukhov
2057deb91b
[FE 1.0] Create DONT_CARE type only for callable references with no expected type
...
Otherwise, it can be resolved safety
^KT-52270 Fixed
2022-07-11 12:44:06 +00:00
Victor Petukhov
fb21937eb1
[FE 1.0] Report INVISIBLE_MEMBER on all qualified expressions including safe call ones
...
^KT-47621 Fixed
2022-07-11 12:44:06 +00:00
Igor Chevdar
a61d05971e
[box-tests] Added a couple of multi-module box tests
2022-07-10 17:56:36 +00:00
Ilmir Usmanov
5144efc7ae
Do not split multimodule inliner tests into modules
2022-07-10 17:56:35 +00:00
Nikita Nazarov
7287be6879
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-07 14:51:24 +03:00
Mikhail Glukhikh
45eb9238b3
Fir2IrClassifierStorage: don't calculate signature in registerClass
2022-07-06 10:02:09 +00:00
Nikolay Krasko
d080297c20
Revert "Add tests on variable spilling with debug mode enabled"
...
This reverts commit 65bb6abae4 .
2022-07-05 11:04:50 +00:00
Pavel Kunyavskiy
c1ec1d9d4c
[K/N] Handle Unit? and Nothing? correctly in finally transformation
...
^KT-52985
2022-07-05 06:54:29 +00:00
Victor Petukhov
3ed87c29c7
[FE 1.0] Substituted possible fixed type variables after completion in accordance with @OverloadResolutionByLambdaReturnType
...
^KT-48031 Fixed
2022-07-04 12:05:57 +00:00
Victor Petukhov
5b5da025f4
[FE 1.0] Don't throw empty intersection exception, return empty intersection type instead
2022-07-04 12:05:56 +00:00
Mikhail Glukhikh
3223d3c3e9
Add test with false/true positives for KT-24643
2022-07-03 19:10:01 +00:00
Nikita Nazarov
65bb6abae4
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-02 18:29:18 +03:00
Pavel Mikhailovskii
8a402bcacd
KT-52875 Fix extension function literal creation with -Xlambdas=indy
2022-06-30 14:13:05 +00:00
Ilmir Usmanov
a5084c2f69
JVM IR: Make receiver type of IrGetField not null
...
otherwise, it will be mapped to inline class type if underlying type
is primitive of nullable.
#KT-52913 Fixed
2022-06-30 01:28:09 +00:00
Dmitriy Novozhilov
1a8496757e
[Compiler] Mark all entrypoints to compiler API as experimental
2022-06-29 12:00:01 +00:00
Dmitriy Novozhilov
8b42638afa
[Plugins] Introduce new API for registering compiler plugins
...
Original `ComponentRegistrar` exposes Project to its registration method,
so plugins should manually register extensions to it. To prepare for
possible unbound compiler from Project API in future new `K2ComponentRegistrar`
introduced which provides registration method without Project at all
2022-06-29 11:59:58 +00:00
Dmitriy Novozhilov
7fa459044f
[Test] Fix extracting path to standard libraries from incorrect places for external users
2022-06-29 06:41:07 +00:00
Ilmir Usmanov
09c9641e23
FE: Use safe call when searching for suspend modifier
...
The modifier does not exist, when the parameter type is typealias.
#KT-35187 Fixed
2022-06-29 06:12:44 +02:00
Dmitry Gridin
6e75e4a56e
Revert "Revert "[light classes] drop old light classes and backend: iteration #12 ""
...
This reverts commit 732a08f0df .
2022-06-28 17:57:35 +02:00
Dmitry Gridin
cbf9b13ef8
Revert "Revert "[light classes] drop old light classes and backend: iteration #9 ""
...
This reverts commit 38c623bc3a .
2022-06-28 17:57:33 +02:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Dmitry Gridin
38c623bc3a
Revert "[light classes] drop old light classes and backend: iteration #9 "
...
This reverts commit 38378309b1 .
2022-06-28 13:52:07 +02:00