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
4aed9511f6
FIR/FE10: fix false positives described in KT-24643
2022-07-03 19:10:02 +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
Nikita Nazarov
38d97d0621
Add a key to enable spilling of all variables in a suspending context
...
This commit adds a new key that will allow users to enhance their
debugging experience in suspending contexts when using the IR backend.
After the key is enabled, the following things are changed:
1. All variables in a suspending context are spilled regardless their
liveness.
2. Their LVT records are not shrunk.
3. ACONST_NULL is not spilled to dead variables.
#KT-48678 In progress
2022-07-02 18:29:18 +03:00
Mikhail Glukhikh
4737bb07df
FIR: look for conflicting declarations more precisely
2022-07-01 15:07:48 +00:00
Mikhail Glukhikh
3092a84b6b
Drop unreachable when branch in FirConflictsChecker
2022-07-01 15:07:48 +00:00
Ilya Chernikov
854127bcc8
Fix testdata after switching Kotlin to version 1.8
...
(see the previous commit with the same title for details)
2022-07-01 14:31:45 +02:00
Ilya Chernikov
513f490502
Scripting: notify writer in REPL on errors reporting complete
...
required for restoring compatibility with IDE REPL usages (scratch
files included), since IDE counterpart needs a reliable signal
when the processing of the REPL snippet/command is completed
2022-07-01 10:14:42 +00:00
Bart van Helvert
7bef560b6b
KTIJ-21986 Don't log non-kotlin code fragment context when it's null
...
This warning shouldn't be logged when the context is null.
2022-07-01 08:15:58 +00:00
Ilya Chernikov
bc1e3667ff
Fix testdata after switching Kotlin to version 1.8
...
the corresponding features - GenericInlineClassParameter && DataObjects
- were turned on in 1.8 right after the last check build, therefore the
discrepancy went unnoticed
2022-06-30 16:34:14 +00: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
Mikhail Glukhikh
38f4a35be2
FIR: introduce flexible types pretty rendering for no arguments case
...
#KT-52020 Fixed
2022-06-29 16:50:05 +00:00
Mikhail Glukhikh
31ec10142b
FirRenderer: add renderAllModifiers and renderDetailedTypeReferences
...
Related to KT-52020
2022-06-29 16:50:04 +00:00
Mikhail Glukhikh
b2a9ad079d
Fix unreachable branch in ConeKotlinType.render()
2022-06-29 16:50:03 +00:00
Mikhail Glukhikh
9a8fa300d7
Add test for KT-52020
2022-06-29 16:50:03 +00:00
Dmitriy Novozhilov
1a8496757e
[Compiler] Mark all entrypoints to compiler API as experimental
2022-06-29 12:00:01 +00:00
Dmitriy Novozhilov
169e80e8c9
[Build] Cleanup build.gradle.kts for :compiler module
2022-06-29 12:00:01 +00:00
Dmitriy Novozhilov
65e240679e
[FE] Move utility of parsing plugin options to :compiler:frontend.common
...
This is needed to be able to use this utility inside FIR part of IDE plugin
2022-06-29 12:00:00 +00:00
Dmitriy Novozhilov
f587c02d38
[FE] Move ServiceLoaderLite to :compiler:frontend.common
...
This is needed to be able to use this class inside FIR part of IDE plugin
2022-06-29 12:00:00 +00:00
Dmitriy Novozhilov
22dae9bff4
[FIR] Fix registration of multiple compiler plugins
2022-06-29 11:59:59 +00:00
Dmitriy Novozhilov
c979e1edcf
[Plugins] Deprecate ComponentRegistrar
...
^KT-52665 In Progress
2022-06-29 11:59:58 +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
Ilya Chernikov
bb996c1b27
Switch kotlin version to 1.8
...
with appropriate fixes in testdata, tests and other
places.
2022-06-29 10:20:30 +02: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
Igor Yakovlev
6f88e9b16f
[WASM] Fix interop adapter for long strings
2022-06-28 18:00:40 +00: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
d14a71acfc
Revert "Revert "[light classes] drop old light classes and backend: iteration #11 ""
...
This reverts commit 357e15085e .
2022-06-28 17:57:34 +02:00
Dmitry Gridin
28aa47af8a
Revert "Revert "[light classes] drop old light classes and backend: iteration #10 ""
...
This reverts commit 4b3e48dc47 .
2022-06-28 17:57:34 +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
Dmitry Gridin
9f3a269d62
Revert "Revert "[light classes] drop old light classes and backend: iteration #8 ""
...
This reverts commit 91fa6af556 .
2022-06-28 17:57:33 +02:00
Dmitry Gridin
ac83d5fcbc
Revert "Revert "[light classes] drop old light classes and backend: iteration #7 ""
...
This reverts commit d1cde22254 .
2022-06-28 17:57:33 +02:00
Dmitry Gridin
9dcc92e394
Revert "Revert "[light classes] drop old light classes and backend: iteration #6 ""
...
This reverts commit 8db53c0ca7 .
2022-06-28 17:57:32 +02:00
Dmitry Gridin
4d43312cfe
Revert "Revert "[light classes] drop old light classes and backend: iteration #5 ""
...
This reverts commit 8f7969549b .
2022-06-28 17:57:31 +02:00
Dmitry Gridin
2eaea66a0c
Revert "Revert "[light classes] drop old light classes and backend: iteration #4 ""
...
This reverts commit 3d9a58627f .
2022-06-28 17:57:31 +02:00
Dmitry Gridin
ce183a8eeb
Revert "Revert "[light classes] drop old light classes and backend: iteration #3 ""
...
This reverts commit 074dd1c19d .
2022-06-28 17:57:30 +02:00
Dmitry Gridin
dd824aacb6
Revert "Revert "[light classes] drop old light classes and backend: iteration #2 ""
...
This reverts commit 43b4df74bc .
2022-06-28 17:57:30 +02:00
Dmitry Gridin
f10c5c28a5
Revert "Revert "[light classes] drop old light classes and backend: iteration #1 ""
...
This reverts commit 57de064251 .
2022-06-28 17:57:29 +02:00
Dmitry Gridin
db3ca797d9
Revert "Revert "[light classes] FakeFileForLightClass: advance language level to 1.8""
...
This reverts commit 11ad8020c8 .
2022-06-28 17:57:17 +02:00
Artem Kobzar
133c6713ca
[K/JS] fix(Interface Export): prevent structural identity between two interfaces.
2022-06-28 15:44:38 +00:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Ilya Chernikov
6e59c2e079
Scripting: fix CLI REPL error reporting behavior
...
discrepancy after switching to the new REPL internals was
discovered also on IJ plugin tests, so added a test emulating it.
also some test infra refactoring
2022-06-28 16:21:25 +02:00
Ilya Chernikov
8bc43917ec
Scripting: switch default definition to new scheme
...
also correctly pass externaly provided configuration on compilation
and evaluation.
Fixes REPL evaluation with dependencies passed via compilation classpath.
2022-06-28 16:21:24 +02:00
Hung Nguyen
46c769deb6
[IC] Fix fallback logic in IncrementalCompilerRunner
...
The current logic works as follows:
- Try either incremental compilation or non-incremental compilation
- If the above (or any of its surrounding work) fails, fall back to
non-incremental compilation
This means we may perform non-incremental compilation twice.
This commit will fix that logic so that we fall back to non-incremental
compilation only if *incremental compilation* fails.
A nice consequence of this change is that it also resolves the critical
bugs described at KT-52669 (which occur because the current logic is
flawed).
#KT-52669 Fixed
2022-06-28 12:47:11 +00:00
Mikhael Bogdanov
8f60f73207
JvmDefault. Add deprecation warning for '-Xjvm-default=enable|compatibility' options
...
#KT-46329
2022-06-28 14:11:49 +02:00
Mikhael Bogdanov
42a465efe2
Remove deprecated methods
2022-06-28 14:11:49 +02:00
Mikhael Bogdanov
27cfe11d55
JvmDefaultWithoutCompatibility. Switch retention to source
2022-06-28 14:11:49 +02:00
Dmitry Gridin
11ad8020c8
Revert "[light classes] FakeFileForLightClass: advance language level to 1.8"
...
This reverts commit d42c9d833f .
2022-06-28 13:52:11 +02:00