Commit Graph

16158 Commits

Author SHA1 Message Date
pyos 65c153a722 JVM: consider casts of null to be redundant
These should only have ever been necessary for field type inference in
coroutines, which should have been fixed by 0fc676a20c.

Unlike 903a5d69a4, this time the change is in an optimization pass.
Advantage: optimization passes have a closer to the JVM view of the
bytecode, which makes this change significantly more likely to be correct.
Disadvantage: technically we don't really guarantee optimization passes
other than FixStack will run at all. For KT-54581 this is 100% fine
since the problem itself is caused by redundant checkcast elimination in
the first place (otherwise there would've been a redundant cast to
String), but for KT-53146 this means the fix is somewhat incidental and
not necessarily guaranteed.

^KT-53146 Fixed
^KT-54581 Fixed
2022-10-24 11:11:21 +02:00
vladislav.grechko 6f4a60ac91 Fix equality comparison for inline class over inline class
^KT-54536: Fixed
2022-10-21 21:17:40 +00:00
vladislav.grechko db133bedf9 Fix ClassCastException on equality comparison on inline class objects
^KT-54603: Fixed
2022-10-21 21:17:40 +00:00
Alexander Udalov 8812f632cc Fix optimization of property delegates of platform types
The old code didn't replace the delegate field access because it was
wrapped into a TYPE_OP IMPLICIT_NOTNULL.

 #KT-54463 Fixed
2022-10-21 13:23:38 +00:00
vladislav.grechko c990bbb26c Get rid of excess method in compiled inline class with custom equals
^KT-54501: Fixed
2022-10-21 12:57:11 +00:00
vladislav.grechko 70c2f2b86f Support specifying different bytecode listings for FIR and old frontend 2022-10-21 12:57:11 +00:00
Ilya Chernikov b50a803b6f Make jdk root processing more robust
#KT-54337 fixed
2022-10-21 06:11:42 +00:00
Nikolay Lunyak dd861515ad [FIR] KT-52157: Fix missing type parameter annotations 2022-10-20 13:08:11 +00:00
Mikhail Glukhikh 5347c3c7cc FE: add test for KT-53408 to have stable behavior here 2022-10-20 13:27:04 +02:00
Dmitriy Dolovov 9c1de4be9a [IR][tests] Mute visibility-related tests until KT-54469 is fixed 2022-10-20 10:18:57 +02:00
Dmitriy Dolovov 0d8a6b6fa7 [IR][tests] Include cases when a callable with narrowed visibility is accessed outside the module
^KT-53608
2022-10-20 10:18:57 +02:00
Dmitriy Dolovov 500e4f5e24 [IR][tests] Add test to check absence of false positively-detected unimplemented callables
^KT-53663
2022-10-20 10:18:56 +02:00
Dmitriy Dolovov cd007c02df [IR][tests] Add cases to visibility-related tests where a callable accidentally starts to override newly added open callable in super class
^KT-53608
2022-10-20 10:18:56 +02:00
Dmitriy Dolovov ec4b85b111 [IR][tests] Add cases to visibility-related tests where a visibility of an open callable in super class is narrowed
^KT-53608
2022-10-20 10:18:56 +02:00
Dmitriy Dolovov 15cf2bab98 [IR][tests] Replace returned values in visibility-related tests
^KT-53608
2022-10-20 10:18:55 +02:00
Dmitriy Dolovov 64867a1627 [IR][tests] Rename top-level declarations in visibility-related tests to distinguish them from nested declarations 2022-10-20 10:18:55 +02:00
Dmitriy Dolovov 296c1cbd0f [Native][tests] Add partial linkage tests (muted) for replacement-of-return-type case
^KT-51707
2022-10-20 10:18:54 +02:00
Dmitriy Dolovov 24d8ac97cd [IR][tests] Make ABI compatibility tests less verbose, part 2 2022-10-20 10:18:54 +02:00
Dmitriy Dolovov db1c8cc7a7 [IR][tests] Make ABI compatibility tests less verbose, part 1 2022-10-20 10:18:53 +02:00
Dmitriy Dolovov 3569ec7666 [IR][tests] New test: change of visibility for callables 2022-10-20 10:18:53 +02:00
Dmitriy Dolovov 8374b2da85 [IR][tests] New test: non-abstract callable member in abstract class becomes abstract
^KT-53663
2022-10-20 10:18:53 +02:00
Dmitriy Dolovov 4d056b211e [IR][tests] Update tests to reflect changes in partial linkage error messages 2022-10-20 10:18:52 +02:00
Artem Kobzar 7b9aed25da [K/JS] Add the ability to turn off polyfills generating 2022-10-19 12:52:23 +00:00
Dmitriy Novozhilov 248c45acb3 [FIR] Properly set resolvedToCompanionObject field for lhs of GetClassCall
^KT-54209 Fixed
2022-10-19 11:09:32 +00:00
Dmitriy Novozhilov 55aae5325c [Test] Add test for KT-54209 2022-10-19 11:09:32 +00:00
Dmitriy Novozhilov 64e21af03b [FIR] Consider containing class during visibility check of static function call
^KT-53441
2022-10-19 11:09:32 +00:00
Dmitriy Novozhilov 5665139865 [Test] Add test for KT-54125 2022-10-19 11:09:31 +00:00
Igor Yakovlev 5218acd5c9 [WASM] Optimise interop adapters 2022-10-18 20:48:12 +02:00
pyos 1fcf099104 FIR: serialize both expanded and abbreviated type to metadata 2022-10-18 14:59:11 +00:00
Sergej Jaskiewicz a939f9ccd0 [JS IR] Improve debug info precision for blocks
Namely:
- Generate debug info for closing braces, which allows the breakpoints
  set on closing braces to be hit
- Generate debug info for 'if' and 'try/catch' statements.

KT-46276
2022-10-18 14:31:14 +00:00
Ivan Kylchik 1ce99db830 Change class loader in ir interpreter that is used to create proxy obj
#KT-54509 Fixed
2022-10-18 13:47:34 +00:00
Ilya Goncharov b76fdb2efa [JS IR] Fix js help 2022-10-18 09:59:17 +00:00
Ilya Goncharov ca8b415726 [JS IR] Change names of ir-only arguments 2022-10-18 09:59:17 +00:00
Ilya Goncharov ec50036884 [JS IR] Change module name compiler flags 2022-10-18 09:59:16 +00:00
vladislav.grechko b5a23e3ef7 Minor: improve usability of tests for custom equals in inline classes 2022-10-17 14:11:01 +00:00
vladislav.grechko cc1b4243dd Fix exception on 'equals()' returning 'Nothing' in inline class
^KT-54401: Fixed
2022-10-17 14:11:00 +00:00
Mikhail Glukhikh 69c883ecee FIR: use FIR_IDENTICAL instead of FIR_IGNORE for diags with BE tests 2022-10-17 12:46:25 +00:00
Mikhail Glukhikh 1826d9b332 K2: add & fix tests for JVM BE diagnostics 2022-10-17 12:46:24 +00:00
Mikhail Glukhikh 185e74fd26 Minor: add Suppress usage to CONFLICTING_JVM_DECLARATIONS test
Related to KT-54366
2022-10-17 12:46:23 +00:00
Xin Wang 69a4de0461 K2 JVM: Take JVM declarations conflicting error back
Since SimpleDiagnosticsCollectorWithSuppress have been replaced by
PendingDiagnosticsCollectorWithSuppress after commit 9add6f3d55,
diagnostics need to be committed now.

#KT-54366 Fixed
2022-10-17 12:46:23 +00:00
vladislav.grechko aeccc2e787 Fix equality comparison of inline classes with primitive underlying type
^KT-54455 Fixed
2022-10-14 23:25:48 +00:00
Artem Kobzar 9a4a30c9bb [K/JS] Add flag for disabling signature uniqueness checks at klib generating phase 2022-10-14 13:08:58 +00:00
Sergej Jaskiewicz d9681caf0c [JS IR] Generate 'names' entries for functions in sourcemaps 2022-10-14 10:09:40 +00:00
Sergej Jaskiewicz 227864c6ec [JS IR] Add a compiler option for generating name entries in sourcemaps 2022-10-14 10:09:39 +00:00
pyos ee921412fc FIR: intersect return types of declarations in intersection scopes
^KT-54378 Fixed
2022-10-14 08:25:26 +00:00
Ivan Kochurkin 1deb253bac [FIR] Run FirSupertypesChecker for anonymous objects, ^KT-54300 Fixed 2022-10-13 18:11:49 +00:00
Ivan Kochurkin 69ee40325b [FIR] Fix dependencyProviders generation in FirDependenciesSymbolProviderImpl
Get rid of unnecessary creating of FirCompositeSymbolProvider
2022-10-13 18:11:49 +00:00
Ivan Kochurkin 9c6df5313a [FIR] Fix substitution of anonymous type's supertypes, ^KT-51418 Fixed 2022-10-13 18:11:47 +00:00
vladislav.grechko 817afcd4af KT-MR-7307 review fixes 2022-10-13 15:19:10 +00:00
Artem Kobzar de880ce9aa [K/JS] Move ES modules logic to a new transformer with IC 2022-10-13 07:32:44 +00:00