[JVM_IR] Give temporary variable loads meaningful offsets.
Temporary variable loads in when expressions had the offsets of the variable declaration. That leads to hacks during codegen for line number generation. Instead of those hacks, give the variable loads the offsets of the context in which they occur. That avoids the codegen hacks and fixes stepping behavior for more when expressions.
This commit is contained in:
+12
@@ -427,6 +427,12 @@ public class IrSteppingTestGenerated extends AbstractIrSteppingTest {
|
||||
runTest("compiler/testData/debug/stepping/whenComplicatedSubject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenIsChecks.kt")
|
||||
public void testWhenIsChecks() throws Exception {
|
||||
runTest("compiler/testData/debug/stepping/whenIsChecks.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenMultiLine.kt")
|
||||
public void testWhenMultiLine() throws Exception {
|
||||
@@ -439,6 +445,12 @@ public class IrSteppingTestGenerated extends AbstractIrSteppingTest {
|
||||
runTest("compiler/testData/debug/stepping/whenMultiLineSubject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenNullalbeSubject.kt")
|
||||
public void testWhenNullalbeSubject() throws Exception {
|
||||
runTest("compiler/testData/debug/stepping/whenNullalbeSubject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenSubject.kt")
|
||||
public void testWhenSubject() throws Exception {
|
||||
|
||||
+12
@@ -427,6 +427,12 @@ public class SteppingTestGenerated extends AbstractSteppingTest {
|
||||
runTest("compiler/testData/debug/stepping/whenComplicatedSubject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenIsChecks.kt")
|
||||
public void testWhenIsChecks() throws Exception {
|
||||
runTest("compiler/testData/debug/stepping/whenIsChecks.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenMultiLine.kt")
|
||||
public void testWhenMultiLine() throws Exception {
|
||||
@@ -439,6 +445,12 @@ public class SteppingTestGenerated extends AbstractSteppingTest {
|
||||
runTest("compiler/testData/debug/stepping/whenMultiLineSubject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenNullalbeSubject.kt")
|
||||
public void testWhenNullalbeSubject() throws Exception {
|
||||
runTest("compiler/testData/debug/stepping/whenNullalbeSubject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("whenSubject.kt")
|
||||
public void testWhenSubject() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user