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 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 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