[JVM] Split the variable range for external finally blocks in inliner

When external finally blocks are inlined none of the current locals
are in scope of the finally block.
This commit is contained in:
Mads Ager
2021-04-13 15:39:00 +02:00
committed by Mikhael Bogdanov
parent 6d9f02cfc6
commit 6095d8a7fa
10 changed files with 381 additions and 30 deletions
@@ -92,6 +92,12 @@ public class IrLocalVariableTestGenerated extends AbstractIrLocalVariableTest {
runTest("compiler/testData/debug/localVariables/tryFinally.kt");
}
@Test
@TestMetadata("tryFinally10.kt")
public void testTryFinally10() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally10.kt");
}
@Test
@TestMetadata("tryFinally2.kt")
public void testTryFinally2() throws Exception {
@@ -116,6 +122,30 @@ public class IrLocalVariableTestGenerated extends AbstractIrLocalVariableTest {
runTest("compiler/testData/debug/localVariables/tryFinally5.kt");
}
@Test
@TestMetadata("tryFinally6.kt")
public void testTryFinally6() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally6.kt");
}
@Test
@TestMetadata("tryFinally7.kt")
public void testTryFinally7() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally7.kt");
}
@Test
@TestMetadata("tryFinally8.kt")
public void testTryFinally8() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally8.kt");
}
@Test
@TestMetadata("tryFinally9.kt")
public void testTryFinally9() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally9.kt");
}
@Test
@TestMetadata("underscoreNames.kt")
public void testUnderscoreNames() throws Exception {
@@ -92,6 +92,12 @@ public class LocalVariableTestGenerated extends AbstractLocalVariableTest {
runTest("compiler/testData/debug/localVariables/tryFinally.kt");
}
@Test
@TestMetadata("tryFinally10.kt")
public void testTryFinally10() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally10.kt");
}
@Test
@TestMetadata("tryFinally2.kt")
public void testTryFinally2() throws Exception {
@@ -116,6 +122,30 @@ public class LocalVariableTestGenerated extends AbstractLocalVariableTest {
runTest("compiler/testData/debug/localVariables/tryFinally5.kt");
}
@Test
@TestMetadata("tryFinally6.kt")
public void testTryFinally6() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally6.kt");
}
@Test
@TestMetadata("tryFinally7.kt")
public void testTryFinally7() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally7.kt");
}
@Test
@TestMetadata("tryFinally8.kt")
public void testTryFinally8() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally8.kt");
}
@Test
@TestMetadata("tryFinally9.kt")
public void testTryFinally9() throws Exception {
runTest("compiler/testData/debug/localVariables/tryFinally9.kt");
}
@Test
@TestMetadata("underscoreNames.kt")
public void testUnderscoreNames() throws Exception {