Ivan Kylchik
ddcef6396e
[IR] Drop inlineArgumentsWithOriginalOffset from inliner
...
#KT-66509
2024-03-14 16:00:53 +00:00
Artem Kobzar
46dc478c03
[K/Wasm] Reduce debug information for the internal Kotlin functions
2024-03-12 17:37:03 +00:00
Ilya Gorbunov
ae3e770246
Update line numbers from stdlib in inlining and stepping tests
2024-03-11 18:12:27 +00:00
Igor Yakovlev
60d425e2c7
[Wasm] Make specialisations for closured primitive values
...
Fixed KT-66065
2024-03-07 14:51:02 +00:00
Ilmir Usmanov
0bb6359ac5
Minor. Add regression tests
...
#KT-64725 Fixed
#KT-64726 Fixed
#KT-64727 Fixed
2024-03-06 18:16:59 +00:00
Artem Kobzar
30aae741a6
[K/Wasm] Fix DROP location
2024-03-04 15:05:23 +00:00
Artem Kobzar
2e4d02e9f4
[PSI2IR, K/Wasm] Sync start and end offsets on PSI and FIR for primary constructors
2024-02-29 14:42:33 +00:00
Igor Yakovlev
a5ef668e3c
[Wasm] Boolean boxed instances are the same
...
Fixed #KT-65411
2024-02-28 15:23:21 +00:00
Artem Kobzar
02a78051aa
[PSI2IR] Sync start and end offsets on PSI and FIR for an implicit return inside lambdas
2024-02-27 19:25:24 +00:00
Artem Kobzar
be47632609
[K/JS] Optimize logical operators generating
2024-02-23 15:16:31 +00:00
Alexander Korepanov
4e62400f6f
Revert "[FIR2IR] Set proper offsets for generated data class members"
...
This reverts commit b33798d65a .
Reverted because of KT-58215
Co-authored-by: Aleksandr Korepanov <Alexander.Korepanov@jetbrains.com >
Merge-request: KT-MR-14328
Merged-by: Anton Bannykh <Anton.Bannykh@jetbrains.com >
2024-02-13 09:52:09 +00:00
Alexander Udalov
3f034e8b67
Enable lightweight lambdas (aka invokedynamic) since 2.0
...
#KT-45375 Fixed
#KT-58173 Open
2024-02-08 19:46:18 +00:00
Artem Kobzar
4f521aa05c
[K1] Fix string offsets to include quotes in the same way it's done in FIR
2024-02-02 14:43:46 +00:00
Artem Kobzar
2fdc8b6c14
[K/Wasm] Refactor the fix for the non-capturing lambda singletons
2024-02-01 18:13:37 +00:00
Artem Kobzar
8c69ffe8c9
[K/Wasm] Generate wasm-specific unsigned implementations ^KT-58039 Fixed
2024-01-29 20:11:41 +00:00
Artem Kobzar
1fe77705b0
[K/Wasm] Convert non-capturing lambdas into singletons ^KT-64803 Fixed
2024-01-29 12:52:18 +00:00
vladislav.grechko
f318b5969d
Erase non-reified type parameters by-default when inlining.
...
Substitution of type arguments to non-reified type parameters may lead
to accidental reification, which should not be done (see ^KT-60174 for
examples). So, we should erase them, except the few cases.
^KT-60174: Fixed
^KT-60175: Fixed
2024-01-26 18:31:20 +00:00
Ilmir Usmanov
19283048a8
Replace bytecode text test with a stepping test
...
#KT-62965
2024-01-19 10:52:39 +00:00
Alexander Korepanov
b33798d65a
[FIR2IR] Set proper offsets for generated data class members
...
^KT-64435 Fixed
2024-01-08 12:38:37 +00:00
Alexander Korepanov
6556acabba
[JS FIR] Enable FIR JS stepping tests
...
^KT-64422 Fixed
2024-01-08 12:38:37 +00:00
Artem Kobzar
327085e026
[K/Wasm] Unmute most of the stepping tests for Wasm in K1
2023-12-28 16:32:10 +00:00
Mads Ager
e41a1247e2
JVM_IR: Generate more line numbers for intrinsic comparisons.
...
Otherwise, if complex expressions such as when expressions are
used in combination with the intrinsics we get incorrect stepping
behavior.
^KT-64341 Fixed
2023-12-20 15:39:03 +00:00
Alexander Udalov
c885932a04
Tests: unmute debugging tests for FIR+JVM_IR
...
The differences between K1 and K2 are pretty unimportant in these tests.
2023-12-18 21:42:35 +00:00
Alexander Udalov
5e330acd28
Tests: remove stepping tests on old JVM backend
2023-12-18 21:42:35 +00:00
Artem Kobzar
05ed134fbb
[K/Wasm] Introduce stepping tests for Wasm
2023-08-15 17:03:11 +00:00
Alexander Korepanov
524c475834
[JS IR] Implement MoveTemporaryVariableDeclarationToAssignment optimization
2023-07-13 16:37:18 +00:00
Ivan Kylchik
8f88f08573
[FIR] Use correct source for implicit this receiver
...
#KT-57489 Fixed
#KT-56139 Fixed
#KT-56755 Fixed
2023-06-23 07:23:39 +00:00
Artem Kobzar
039b5fca7a
[K/JS] Use declared upper-bound types for parameters inside inlined functions body, instead of the provided types
2023-06-20 12:01:28 +00:00
Evgeniy.Zhelenskiy
2d920df507
[IR] Fix KT-59346, KT-55993
...
#KT-59346
#KT-55993
2023-06-19 12:36:08 +00:00
Ilmir Usmanov
a41d36edba
JS IR: Minor. Disable test
2023-05-31 11:21:39 +00:00
Ilmir Usmanov
aec78ab2d8
Minor. Add regression test for KT-42696
...
#KT-42696 Fixed
2023-05-11 11:15:06 +02:00
Alexander Udalov
987e8c25dc
K2: do not generate line numbers for delegated members
...
Psi2ir does not generate them, see
https://github.com/JetBrains/kotlin/blob/1.8.20/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt#L319 .
Besides influencing debugger and coverage behavior, it also affects how
conflicting JVM signature diagnostics are reported because they
use offsets to determine which element to report the error on. So after
this change, K1 and K2 behavior is the same in that regard as well.
#KT-58215 Fixed
2023-05-10 10:32:07 +00:00
Alexander Udalov
45bf70c9f9
Minor, add debug stepping test for KT-44745
2023-05-09 12:44:47 +00:00
Alexander Korepanov
79d378f2bd
[JS IR] Perform optimizations on the generated JS code
...
The patch adopts and reuses the optimizations from the legacy backend.
The optimizations remove useless temporary variables,
statements and simplify generated JS code.
The optimizations can be disabled by `-Xoptimize-generated-js=false`.
Related to KT-51139
2023-04-18 12:49:33 +00:00
Ivan Kylchik
eb86aabb50
[FIR LT] Unmute some stepping and local variable tests
...
Corresponding tests were fixed together with #KT-56982, #KT-56913,
#KT-56926
2023-03-21 16:33:00 +00:00
Ivan Kylchik
2b387e7a10
[FIR LT] Get correct startOffset value for declarations with comments
...
#KT-56913 Fixed
#KT-56926 Fixed
2023-03-21 16:33:00 +00:00
Ivan Kylchik
e4591d7af9
[FIR LT] Add proper source for when with subject
...
#KT-56982 Fixed
2023-03-21 16:33:00 +00:00
Ivan Kylchik
7cf70e7b15
[JVM IR] Fix performance issue caused by support of IR Inliner
2023-03-20 23:36:33 +00:00
Ivan Kylchik
b812a6c6f5
Ignore tests that are currently not working with IR inliner
2023-03-14 20:47:42 +00:00
vladislav.grechko
17e6099b53
Initialize 'source' property of FirCatch objects properly
...
^KT-56923: Fixed
^KT-56755: Fixed
2023-03-08 12:03:35 +00:00
Nikolay Lunyak
bcfafc601e
Add EnumEntries to minimal-stdlib-for-tests
...
This change allows to revert adding `WITH_STDLIB` directive
to tests which happened at `a9343aeb`.
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-03-02 10:23:38 +00:00
Dmitriy Novozhilov
28b83a1a5d
[Test] Mute tests due to KT-56755
2023-02-20 08:40:32 +00:00
Nikolay Lunyak
a9343aeb7d
[FIR] KT-55840: Ensure everything actually works
...
This inconsistency is present due to not using the `// WITH_STDLIB`
in the above tests. When K1 creates the enum, it tries to generate
`entries()`, and for that it tries to load `kotlin.enums.EnumEntries`,
but this is actually an unresolved reference. K1 silently swallows it,
and proceeds.
The reason K2 doesn't fail is that in order to generate `entries()` it
simply creates the necessary `ConeClassLikeType` with the desired
`classId` instead of loading the whole `ClassDescriptor`.
The reason we can still observe `$ENTRIES` and `$entries` in K1
is because they are generated during the JVM codegen, and it
only checks if the `EnumEntries` language feature is supported. It
doesn't check if the `entries` property has really existed in IR
(by this time it's expected to have already been lowered to the
`get-entries` function - that's why "has ... existed").
The reason why the codegen doesn't fail when working with
`kotlin.enums.EnumEntries` is because it creates its
own `IrClassSymbol`.
^KT-55840 Fixed
Merge-request: KT-MR-8727
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-02-10 16:57:51 +00:00
Artem Kobzar
71486a321c
[K/JS] Add support of compilation with ES-classes
2023-01-17 18:14:17 +00:00
Sergej Jaskiewicz
becbc06663
[JS] Re-enable some stepping tests
2022-11-18 10:37:58 +00:00
Ilya Chernikov
5b3816cce5
Test infra: refactor IGNORE_BACKEND directive
...
treat it as a general one, introduce *_K1 and *_K2 variants for
more specific ignoring
2022-11-12 16:28:23 +01:00
Sergej Jaskiewicz
7b7c517dbb
[JS IR] Emit original names for local vars to sourcemaps
...
#KT-35655 Fixed
2022-11-09 12:35:44 +00:00
Sergej Jaskiewicz
ba7f5afebe
[JS IR] Generate debug info for catch parameters
...
We will need it to generate original names for catch parameters in
sourcemaps.
Also, don't generate redundant debug info for compiler-generated
exception handling control flow operators.
See the doc comment to the MultipleCatchesLowering class
#KT-46276
2022-11-02 13:14:01 +00:00
Sergej Jaskiewicz
4ae03ea74a
[JS IR] Improve debug info for if and when statements
...
#KT-46276
2022-11-02 13:14:01 +00:00
Sergej Jaskiewicz
ccbb2a08a0
[JS IR] Improve debug info for functions with default parameters
...
Don't generate unnecessary mappings so that the user doesn't need to
step in many times to get where they want
#KT-46276
2022-11-02 13:14:00 +00:00