JVM_IR KT-36853 patch parents after tailrecPhase

This commit is contained in:
Dmitry Petrov
2021-03-17 14:50:31 +03:00
committed by TeamCityServer
parent 34f8c7a68b
commit ac6232b4ba
12 changed files with 200 additions and 8 deletions
@@ -12078,6 +12078,24 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@Test
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@Test
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@Test
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@Test @Test
@TestMetadata("kt36972_companion.kt") @TestMetadata("kt36972_companion.kt")
public void testKt36972_companion() throws Exception { public void testKt36972_companion() throws Exception {
@@ -344,6 +344,7 @@ private val jvmFilePhases = listOf(
remapObjectFieldAccesses, remapObjectFieldAccesses,
anonymousObjectSuperConstructorPhase, anonymousObjectSuperConstructorPhase,
tailrecPhase, tailrecPhase,
makePatchParentsPhase(1),
jvmStandardLibraryBuiltInsPhase, jvmStandardLibraryBuiltInsPhase,
@@ -352,7 +353,7 @@ private val jvmFilePhases = listOf(
collectionStubMethodLowering, collectionStubMethodLowering,
jvmInlineClassPhase, jvmInlineClassPhase,
makePatchParentsPhase(1), makePatchParentsPhase(2),
enumWhenPhase, enumWhenPhase,
singletonReferencesPhase, singletonReferencesPhase,
@@ -390,7 +391,7 @@ private val jvmFilePhases = listOf(
innerClassesMemberBodyPhase, innerClassesMemberBodyPhase,
innerClassConstructorCallsPhase, innerClassConstructorCallsPhase,
makePatchParentsPhase(2), makePatchParentsPhase(3),
enumClassPhase, enumClassPhase,
objectClassPhase, objectClassPhase,
@@ -415,7 +416,7 @@ private val jvmFilePhases = listOf(
renameFieldsPhase, renameFieldsPhase,
fakeInliningLocalVariablesLowering, fakeInliningLocalVariablesLowering,
makePatchParentsPhase(3) makePatchParentsPhase(4)
) )
private val jvmLoweringPhases = NamedCompilerPhase( private val jvmLoweringPhases = NamedCompilerPhase(
@@ -0,0 +1,19 @@
// IGNORE_BACKEND: JS_IR, WASM
interface IFoo {
fun foo(): String
}
tailrec fun tailrecDefault(
fake: Int,
x: IFoo = object : IFoo {
override fun foo(): String = "OK"
}
): String {
return if (fake == 0)
tailrecDefault(1)
else
x.foo()
}
fun box(): String = tailrecDefault(0)
@@ -0,0 +1,33 @@
// IGNORE_BACKEND: JS_IR, WASM
interface IFoo {
fun foo(): String
}
tailrec fun tailrecDefault(
fake: Int,
x: IFoo = object : IFoo {
tailrec fun tailrecDefaultNested(
b: Boolean,
y: IFoo = object: IFoo {
override fun foo() = "OK"
}
): String {
return if (b)
tailrecDefaultNested(false)
else
y.foo()
}
override fun foo(): String {
return tailrecDefaultNested(true)
}
}
): String {
return if (fake == 0)
tailrecDefault(1)
else
x.foo()
}
fun box(): String = tailrecDefault(0)
@@ -0,0 +1,10 @@
// IGNORE_BACKEND: JS_IR
tailrec fun tailrecDefault(fake: Int, fn: () -> String = { "OK" }): String {
return if (fake == 0)
tailrecDefault(1)
else
fn()
}
fun box(): String = tailrecDefault(0)
@@ -12078,6 +12078,24 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@Test
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@Test
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@Test
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@Test @Test
@TestMetadata("kt36972_companion.kt") @TestMetadata("kt36972_companion.kt")
public void testKt36972_companion() throws Exception { public void testKt36972_companion() throws Exception {
@@ -12078,6 +12078,24 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@Test
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@Test
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@Test
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@Test @Test
@TestMetadata("kt36972_companion.kt") @TestMetadata("kt36972_companion.kt")
public void testKt36972_companion() throws Exception { public void testKt36972_companion() throws Exception {
@@ -9803,6 +9803,21 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@TestMetadata("kt36972_companion.kt") @TestMetadata("kt36972_companion.kt")
public void testKt36972_companion() throws Exception { public void testKt36972_companion() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36972_companion.kt"); runTest("compiler/testData/codegen/box/defaultArguments/kt36972_companion.kt");
@@ -15548,6 +15563,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/inlineClasses/funInterface/argumentResult.kt"); runTest("compiler/testData/codegen/box/inlineClasses/funInterface/argumentResult.kt");
} }
@TestMetadata("returnIC.kt")
public void ignoreReturnIC() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/funInterface/returnIC.kt");
}
@TestMetadata("returnResult.kt") @TestMetadata("returnResult.kt")
public void ignoreReturnResult() throws Exception { public void ignoreReturnResult() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/funInterface/returnResult.kt"); runTest("compiler/testData/codegen/box/inlineClasses/funInterface/returnResult.kt");
@@ -15575,11 +15595,6 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
public void testJavaSamReturnResult() throws Exception { public void testJavaSamReturnResult() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/funInterface/javaSamReturnResult.kt"); runTest("compiler/testData/codegen/box/inlineClasses/funInterface/javaSamReturnResult.kt");
} }
@TestMetadata("returnIC.kt")
public void testReturnIC() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/funInterface/returnIC.kt");
}
} }
@TestMetadata("compiler/testData/codegen/box/inlineClasses/functionNameMangling") @TestMetadata("compiler/testData/codegen/box/inlineClasses/functionNameMangling")
@@ -8726,6 +8726,21 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@TestMetadata("kt6382.kt") @TestMetadata("kt6382.kt")
public void testKt6382() throws Exception { public void testKt6382() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt"); runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt");
@@ -8183,6 +8183,21 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@TestMetadata("kt6382.kt") @TestMetadata("kt6382.kt")
public void testKt6382() throws Exception { public void testKt6382() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt"); runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt");
@@ -8183,6 +8183,21 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@TestMetadata("kt6382.kt") @TestMetadata("kt6382.kt")
public void testKt6382() throws Exception { public void testKt6382() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt"); runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt");
@@ -3884,6 +3884,21 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt");
} }
@TestMetadata("kt36853.kt")
public void testKt36853() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853.kt");
}
@TestMetadata("kt36853_nestedObject.kt")
public void testKt36853_nestedObject() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt");
}
@TestMetadata("kt36853a.kt")
public void testKt36853a() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt36853a.kt");
}
@TestMetadata("kt6382.kt") @TestMetadata("kt6382.kt")
public void testKt6382() throws Exception { public void testKt6382() throws Exception {
runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt"); runTest("compiler/testData/codegen/box/defaultArguments/kt6382.kt");