Commit Graph

37 Commits

Author SHA1 Message Date
Dmitriy Dolovov 938146749d [PL][tests] K/JS: Avoid any unexpected warnings to appear in tests 2023-07-17 21:09:40 +00:00
Dmitriy Dolovov 19c6208cc0 [PL][tests] K/N: Avoid any unexpected warnings to appear in tests 2023-07-17 21:09:40 +00:00
Dmitriy Dolovov 2e43fa7cd0 [PL][tests] Adapt tests for K/N to the conditions when static cache is used w/o lazy IR 2023-06-22 08:10:11 +00:00
Dmitriy Dolovov a01a6b64ad [PL] Fix: Don't use locations in compiler messages
^KT-58837
2023-05-26 14:03:33 +00:00
Pavel Kunyavskiy ee1608ec99 [PL] Make call an exception in case of several inherited implementations
^KT-57701
2023-05-24 08:17:59 +00:00
Dmitriy Dolovov 1536bca1bb [PL] Handle illegal fun interface SAM conversions
^KT-53967
2023-05-23 16:23:41 +00:00
Dmitriy Dolovov 706a4e9919 [PL] Fix: Remove annotations containing unlinked arguments
Both explicitly specified and default argument expressions are considered.

In case an argument expression is considered as 'unlinked' the whole annotation
is removed from the declaration. An appropriate compiler warning logged for each
such case.
2023-05-16 08:30:29 +00:00
Dmitriy Dolovov b5ad5edc08 [PL][JS] Add test for handling external declarations
^KT-57378
2023-04-25 08:00:14 +00:00
Abduqodiri Qurbonzoda b65a68ca0d [K/N and WASM] Internalize NoWhenBranchMatchedException and UninitializedPropertyAccessException
As a part of efforts to stabilize Native stdlib.

Merge-request: KT-MR-9531
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-04-10 21:10:51 +00:00
Dmitriy Dolovov 850879375a [PL] Special handling of function references produced by FIR 2023-03-28 08:50:59 +00:00
Dmitriy Dolovov 7382b31fdc [PL] Native: Remove harmful private visibility guard in deserialization of LazyIr
Kotlin/Native codegen needs to deserialize all fields throughout the class hierarchy to build the proper binary class layout. That becomes impossible with the guard condition that prevents loading private top-level classes from another module in LazyIR (see https://github.com/JetBrains/kotlin/blob/2a4d8800374578c1aa9ec9c996b393a98f5a6e3b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt#L701). The guard suits well for the partial linkage needs, but it causes the codegen to fail with `Unbound public symbol IrClassPublicSymbolImpl: [ File '/file/in/the/library.kt' <- private.top.level/ClassDeclaration|null[0] ]` error.

To prevent this the guard is removed. This does not influence the partial linkage in general except for the different error message being generated: `Function 'foo' can not be called: Private function declared in module <A> can not be accessed in module <B>` instead of `Function 'foo' can not be called: No function found for symbol '<symbol>'`.

#KT-54469
2023-03-27 15:50:13 +02:00
Dmitriy Dolovov 0f17191e0e [PL] Fix: Allow IrEnumConstructorCall with constructed class with kind=ENUM_ENTRY 2023-03-24 18:09:37 +00:00
Dmitriy Dolovov 66532d714e [PL] Fix: Respect inlined array constructor lambdas 2023-03-24 18:09:37 +00:00
Dmitriy Dolovov 4f1155b06f [PL] ABI compatibility tests for reworked partial linkage 2023-03-23 10:24:27 +00: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
Dmitriy Dolovov ce04a24b26 [IR][tests] Removal of class used as variable type and constructor call 2022-07-18 17:29:50 +02:00
Dmitriy Dolovov d5ded97ccb [IR][tests] Removal of inlined class case
^KT-52478
2022-07-18 17:29:50 +02:00
Dmitriy Dolovov 7b5e33b6ca [IR][tests] Add tests for removal-of-typealias case 2022-07-18 17:29:49 +02:00
Dmitriy Dolovov 89a188d199 [IR][tests] Add tests for remove-inlined-callable member case 2022-07-18 17:29:49 +02:00
Dmitriy Dolovov 9c1c712057 [IR][tests] Add tests for removal-of-overridden open callable case 2022-07-18 17:29:49 +02:00
Dmitriy Dolovov 2476d1bbb6 [IR][tests] Extend test for IR linkage issues related to functions 2022-05-24 07:48:09 +00:00
Dmitriy Dolovov deb9039b0f [IR][tests] Add tests for IR linkage issues related to properties 2022-05-18 18:05:05 +03:00
Dmitriy Dolovov 8e8ecc48ad [IR][tests] Add tests for removal-of-abstract-fun IR linkage case
^KT-50771
2022-05-18 18:04:26 +03:00
Dmitriy Dolovov df909abaf5 [IR][tests] More precise IrLinkageError checks 2022-05-18 18:03:53 +03:00
Roman Artemev 23d7f94dca [JS IR] Generate JS Klib ABI tests
- add first test
2021-12-08 20:18:15 +03:00