Commit Graph

13 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 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 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 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 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 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 24d8ac97cd [IR][tests] Make ABI compatibility tests less verbose, part 2 2022-10-20 10:18:54 +02:00
Dmitriy Dolovov 3569ec7666 [IR][tests] New test: change of visibility for callables 2022-10-20 10:18:53 +02:00