[JS IR IC] Load only top level signatures for function type interfaces

The dependency signature may refer to function type interface properties
 (e.g. name) or methods. It is impossible to detect (without hacks)
 which binary symbol for loading is required. However, when loading
 a property or a method the entire function type interface is loaded.
 And vice versa, a loading of function type interface loads
 properties and methods as well. Therefore, load the top level signature only,
 it must be the signature of function type interface.

^KT-56582 Fixed
This commit is contained in:
Alexander Korepanov
2023-02-13 14:45:21 +01:00
committed by Space Team
parent f367541393
commit 121c920099
14 changed files with 117 additions and 1 deletions
@@ -175,6 +175,11 @@ public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6Invalidatio
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
}
@TestMetadata("functionTypeInterfaceReflect")
public void testFunctionTypeInterfaceReflect() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
}
@TestMetadata("genericFunctions")
public void testGenericFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
@@ -175,6 +175,11 @@ public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
}
@TestMetadata("functionTypeInterfaceReflect")
public void testFunctionTypeInterfaceReflect() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
}
@TestMetadata("genericFunctions")
public void testGenericFunctions() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");