[JS IR IC] Interface default implementations affect IC hash

Adding or removing a method or property with
a default implementation to an interface should
invalidate all children: we must regenerate JS code for them

^KT-56237 Fixed
This commit is contained in:
Alexander Korepanov
2023-04-25 14:53:34 +02:00
committed by Space Team
parent bad5c58952
commit 81b591ed21
45 changed files with 391 additions and 70 deletions
@@ -319,6 +319,12 @@ public class JsFirInvalidationTestGenerated extends AbstractJsFirInvalidationTes
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
}
@Test
@TestMetadata("localObjectsLeakThroughInterface")
public void testLocalObjectsLeakThroughInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/localObjectsLeakThroughInterface/");
}
@Test
@TestMetadata("mainModuleInvalidation")
public void testMainModuleInvalidation() throws Exception {
@@ -373,6 +379,12 @@ public class JsFirInvalidationTestGenerated extends AbstractJsFirInvalidationTes
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
}
@Test
@TestMetadata("privateObjectsLeakThroughSealedInterface")
public void testPrivateObjectsLeakThroughSealedInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateObjectsLeakThroughSealedInterface/");
}
@Test
@TestMetadata("removeFile")
public void testRemoveFile() throws Exception {
@@ -319,6 +319,12 @@ public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6Invalidatio
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
}
@Test
@TestMetadata("localObjectsLeakThroughInterface")
public void testLocalObjectsLeakThroughInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/localObjectsLeakThroughInterface/");
}
@Test
@TestMetadata("mainModuleInvalidation")
public void testMainModuleInvalidation() throws Exception {
@@ -373,6 +379,12 @@ public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6Invalidatio
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
}
@Test
@TestMetadata("privateObjectsLeakThroughSealedInterface")
public void testPrivateObjectsLeakThroughSealedInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateObjectsLeakThroughSealedInterface/");
}
@Test
@TestMetadata("removeFile")
public void testRemoveFile() throws Exception {
@@ -319,6 +319,12 @@ public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
}
@Test
@TestMetadata("localObjectsLeakThroughInterface")
public void testLocalObjectsLeakThroughInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/localObjectsLeakThroughInterface/");
}
@Test
@TestMetadata("mainModuleInvalidation")
public void testMainModuleInvalidation() throws Exception {
@@ -373,6 +379,12 @@ public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
}
@Test
@TestMetadata("privateObjectsLeakThroughSealedInterface")
public void testPrivateObjectsLeakThroughSealedInterface() throws Exception {
runTest("js/js.translator/testData/incremental/invalidation/privateObjectsLeakThroughSealedInterface/");
}
@Test
@TestMetadata("removeFile")
public void testRemoveFile() throws Exception {