JVM_IR: avoid descriptors when tracking inline properties

Preparing to use wrapped properties in InlineCodegen.

Original commit: 8e24256f95
This commit is contained in:
Georgy Bronnikov
2020-06-29 14:14:27 +03:00
parent c818141d15
commit b154f74b99
6 changed files with 62 additions and 0 deletions
@@ -2139,6 +2139,11 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes
runTest("jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded/");
}
@TestMetadata("inlineFunctionWithJvmNameInClass")
public void testInlineFunctionWithJvmNameInClass() throws Exception {
runTest("jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass/");
}
@TestMetadata("inlineTopLevelFunctionWithJvmName")
public void testInlineTopLevelFunctionWithJvmName() throws Exception {
runTest("jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName/");
@@ -2332,6 +2337,19 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes
}
}
@TestMetadata("jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class InlineFunctionWithJvmNameInClass extends AbstractIncrementalJvmJpsTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInInlineFunctionWithJvmNameInClass() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass"), Pattern.compile("^([^\\.]+)$"), null, true);
}
}
@TestMetadata("jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -0,0 +1,22 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/inline/A.class
End of files
Compiling files:
src/inline.kt
End of files
Marked as dirty by Kotlin:
src/usage.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/usage/UsageKt.class
End of files
Compiling files:
src/usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
package test
fun dummy() {}
@@ -0,0 +1,8 @@
package inline
class A {
var z = 0
@JvmName("fff")
inline fun f(): Int = 0
}
@@ -0,0 +1,8 @@
package inline
class A {
var z = 0
@JvmName("fff")
inline fun f(): Int = 1
}
@@ -0,0 +1,3 @@
package usage
fun use() = inline.A().f()