Fix FIR incremental compilation failure with inlines and lambdas
#KT-51546 fixed
This commit is contained in:
Generated
+18
@@ -2802,6 +2802,11 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes
|
||||
runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/function/");
|
||||
}
|
||||
|
||||
@TestMetadata("functionIndirect")
|
||||
public void testFunctionIndirect() throws Exception {
|
||||
runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/functionIndirect/");
|
||||
}
|
||||
|
||||
@TestMetadata("getter")
|
||||
public void testGetter() throws Exception {
|
||||
runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/getter/");
|
||||
@@ -2904,6 +2909,19 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/functionIndirect")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class FunctionIndirect extends AbstractIncrementalJvmJpsTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInFunctionIndirect() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/functionIndirect"), Pattern.compile("^([^\\.]+)$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/getter")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/usage/Usage.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/usage.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package inline
|
||||
|
||||
private inline fun ps(): () -> String { val z = "Outer"; return { "OK" } }
|
||||
|
||||
internal inline fun test(s: () -> () -> String = ::ps) =
|
||||
s()
|
||||
|
||||
val same = test()
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package usage
|
||||
|
||||
fun other() {}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package usage
|
||||
|
||||
internal class Usage {
|
||||
val inlined = inline.test()
|
||||
|
||||
val check = inline.same::class.java == inlined::class.java
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package usage
|
||||
|
||||
internal class Usage {
|
||||
private val inlined = inline.test()
|
||||
|
||||
private val check = inline.same::class.java == inlined::class.java
|
||||
}
|
||||
Reference in New Issue
Block a user