[FIR] Desugar increment/decrement in body resolve phase
The expression needs to be resolved first to determine if there is a receiver that needs to be extracted to a temporary variable. Also, the special case for prefix increment/decrement on local variable without delegates requires resolution to check if the variable is local. ^KT-56771 Fixed ^KT-56659 Fixed
This commit is contained in:
committed by
Space Team
parent
5ecf9cce25
commit
3b9724d20e
+18
@@ -20821,6 +20821,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDec.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("prefixIncDecFir.kt")
|
||||
public void testPrefixIncDecFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDecFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("rangeFromCollection.kt")
|
||||
public void testRangeFromCollection() throws Exception {
|
||||
@@ -34723,12 +34729,24 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInClassObjectFir.kt")
|
||||
public void testIncInClassObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObject.kt")
|
||||
public void testIncInObject() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObjectFir.kt")
|
||||
public void testIncInObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedPropertyInClassObject.kt")
|
||||
public void testInheritedPropertyInClassObject() throws Exception {
|
||||
|
||||
+18
@@ -20839,6 +20839,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDec.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("prefixIncDecFir.kt")
|
||||
public void testPrefixIncDecFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDecFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("rangeFromCollection.kt")
|
||||
public void testRangeFromCollection() throws Exception {
|
||||
@@ -34909,12 +34915,24 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInClassObjectFir.kt")
|
||||
public void testIncInClassObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObject.kt")
|
||||
public void testIncInObject() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObjectFir.kt")
|
||||
public void testIncInObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedPropertyInClassObject.kt")
|
||||
public void testInheritedPropertyInClassObject() throws Exception {
|
||||
|
||||
+18
@@ -20839,6 +20839,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDec.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("prefixIncDecFir.kt")
|
||||
public void testPrefixIncDecFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDecFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("rangeFromCollection.kt")
|
||||
public void testRangeFromCollection() throws Exception {
|
||||
@@ -34909,12 +34915,24 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInClassObjectFir.kt")
|
||||
public void testIncInClassObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObject.kt")
|
||||
public void testIncInObject() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObjectFir.kt")
|
||||
public void testIncInObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedPropertyInClassObject.kt")
|
||||
public void testInheritedPropertyInClassObject() throws Exception {
|
||||
|
||||
+18
@@ -20839,6 +20839,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDec.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("prefixIncDecFir.kt")
|
||||
public void testPrefixIncDecFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/intrinsics/prefixIncDecFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("rangeFromCollection.kt")
|
||||
public void testRangeFromCollection() throws Exception {
|
||||
@@ -34909,12 +34915,24 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInClassObjectFir.kt")
|
||||
public void testIncInClassObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInClassObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObject.kt")
|
||||
public void testIncInObject() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incInObjectFir.kt")
|
||||
public void testIncInObjectFir() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/statics/incInObjectFir.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedPropertyInClassObject.kt")
|
||||
public void testInheritedPropertyInClassObject() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user