[JS IR] Fix the instability of LoweredDeclarationSignature

A suspend stub for the abstract function
 may be created in the context of the child function.
 If on an incremental rebuild the stub is created from
 the parent context (e.g. a file with the child is not modified),
 the resulting LoweredDeclarationSignature will be different.
 It will lead to a broken cross-module reference and broken JS code.
 Therefore it is required to wrap the creation routine
 into StageController::restrictTo() explicitly.

^KT-54934 Fixed
This commit is contained in:
Alexander Korepanov
2022-11-14 11:57:42 +01:00
committed by Space Team
parent fb38ab3cbb
commit f7063555ca
11 changed files with 76 additions and 1 deletions
@@ -0,0 +1,6 @@
class ClassA2 : InterfaceA {
override suspend fun functionA(x: Int, s: String, b: Boolean?): Int {
return function1()
}
}
@@ -0,0 +1,7 @@
STEP 0:
dependencies: lib1
modifications:
U : l2A.0.kt -> l2A.kt
added file: l2A.kt
STEP 1:
dependencies: lib1