From 76f80a44b6ff0be24e91dc7519355a907b545254 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Mon, 7 Sep 2015 20:19:20 +0300 Subject: [PATCH] Fix incremental compilation for delegated property with inline accessor Original commit: a22e15449d12b2c61904e3ef48c48f8fc5a70e3d --- .../build/IncrementalJpsTestGenerated.java | 12 +++++++ .../UsageVal.kt | 7 ++++ .../UsageVar.kt | 7 ++++ .../build.log | 32 +++++++++++++++++++ .../inline.kt | 3 ++ .../inlineGet.kt | 5 +++ .../inlineGet.kt.new.1 | 5 +++ .../inlineSet.kt | 5 +++ .../inlineSet.kt.new.2 | 5 +++ .../other.kt | 3 ++ .../UsageVal.kt | 7 ++++ .../UsageVar.kt | 7 ++++ .../build.log | 28 ++++++++++++++++ .../inline.kt | 11 +++++++ .../inline.kt.new.1 | 11 +++++++ .../inline.kt.new.2 | 11 +++++++ .../other.kt | 3 ++ 17 files changed, 162 insertions(+) create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVal.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVar.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inline.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt.new.1 create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt.new.2 create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/other.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVal.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVar.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.1 create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.2 create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/other.kt diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java index 66233909bcc..fd38191767b 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java @@ -239,6 +239,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("delegatedPropertyInlineExtensionAccessor") + public void testDelegatedPropertyInlineExtensionAccessor() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/"); + doTest(fileName); + } + + @TestMetadata("delegatedPropertyInlineMethodAccessor") + public void testDelegatedPropertyInlineMethodAccessor() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/"); + doTest(fileName); + } + @TestMetadata("dependencyClassReferenced") public void testDependencyClassReferenced() throws Exception { String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/dependencyClassReferenced/"); diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVal.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVal.kt new file mode 100644 index 00000000000..a41723cbeb7 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVal.kt @@ -0,0 +1,7 @@ +package usage + +import inline.* + +class UsageVal { + val x: Int by Inline() +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVar.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVar.kt new file mode 100644 index 00000000000..02b4b418fb4 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/UsageVar.kt @@ -0,0 +1,7 @@ +package usage + +import inline.* + +class UsageVar { + var x: Int by Inline() +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log new file mode 100644 index 00000000000..c2f6c6d4d8f --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log @@ -0,0 +1,32 @@ +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/inline/InlineGetKt.class +out/production/module/inline/InlinePackage.class +End of files +Compiling files: +src/inlineGet.kt +End of files +Cleaning output files: +out/production/module/usage/UsageVal.class +out/production/module/usage/UsageVar.class +End of files +Compiling files: +src/UsageVal.kt +src/UsageVar.kt +End of files + + +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/inline/InlinePackage.class +out/production/module/inline/InlineSetKt.class +End of files +Compiling files: +src/inlineSet.kt +End of files +Cleaning output files: +out/production/module/usage/UsageVar.class +End of files +Compiling files: +src/UsageVar.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inline.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inline.kt new file mode 100644 index 00000000000..b10bc0a71dd --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inline.kt @@ -0,0 +1,3 @@ +package inline + +class Inline \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt new file mode 100644 index 00000000000..405ef2eef20 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt @@ -0,0 +1,5 @@ +package inline + +inline fun Inline.get(receiver: Any?, prop: PropertyMetadata): Int { + return 0 +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt.new.1 b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt.new.1 new file mode 100644 index 00000000000..efc57e7afd9 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineGet.kt.new.1 @@ -0,0 +1,5 @@ +package inline + +inline fun Inline.get(receiver: Any?, prop: PropertyMetadata): Int { + return 1 +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt new file mode 100644 index 00000000000..ffebce91d6a --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt @@ -0,0 +1,5 @@ +package inline + +inline fun Inline.set(receiver: Any?, prop: PropertyMetadata, value: Int) { + println(value) +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt.new.2 b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt.new.2 new file mode 100644 index 00000000000..4eda0b9b94e --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/inlineSet.kt.new.2 @@ -0,0 +1,5 @@ +package inline + +inline fun Inline.set(receiver: Any?, prop: PropertyMetadata, value: Int) { + println(value * 2) +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/other.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/other.kt new file mode 100644 index 00000000000..ba9f1988a49 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/other.kt @@ -0,0 +1,3 @@ +package usage + +fun other() {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVal.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVal.kt new file mode 100644 index 00000000000..8e918b81f47 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVal.kt @@ -0,0 +1,7 @@ +package usage + +import inline.Inline + +class UsageVal { + val x: Int by Inline() +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVar.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVar.kt new file mode 100644 index 00000000000..3221201c277 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/UsageVar.kt @@ -0,0 +1,7 @@ +package usage + +import inline.Inline + +class UsageVar { + var x: Int by Inline() +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log new file mode 100644 index 00000000000..eafebdfd179 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log @@ -0,0 +1,28 @@ +Cleaning output files: +out/production/module/inline/Inline.class +End of files +Compiling files: +src/inline.kt +End of files +Cleaning output files: +out/production/module/usage/UsageVal.class +out/production/module/usage/UsageVar.class +End of files +Compiling files: +src/UsageVal.kt +src/UsageVar.kt +End of files + + +Cleaning output files: +out/production/module/inline/Inline.class +End of files +Compiling files: +src/inline.kt +End of files +Cleaning output files: +out/production/module/usage/UsageVar.class +End of files +Compiling files: +src/UsageVar.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt new file mode 100644 index 00000000000..5840d17a8a3 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt @@ -0,0 +1,11 @@ +package inline + +class Inline { + inline fun get(receiver: Any?, prop: PropertyMetadata): Int { + return 0 + } + + inline fun set(receiver: Any?, prop: PropertyMetadata, value: Int) { + println(value) + } +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.1 b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.1 new file mode 100644 index 00000000000..bb80da599b8 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.1 @@ -0,0 +1,11 @@ +package inline + +class Inline { + inline fun get(receiver: Any?, prop: PropertyMetadata): Int { + return 1 + } + + inline fun set(receiver: Any?, prop: PropertyMetadata, value: Int) { + println(value) + } +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.2 b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.2 new file mode 100644 index 00000000000..17180968e7a --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/inline.kt.new.2 @@ -0,0 +1,11 @@ +package inline + +class Inline { + inline fun get(receiver: Any?, prop: PropertyMetadata): Int { + return 1 + } + + inline fun set(receiver: Any?, prop: PropertyMetadata, value: Int) { + println(value * 2) + } +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/other.kt b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/other.kt new file mode 100644 index 00000000000..ba9f1988a49 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/other.kt @@ -0,0 +1,3 @@ +package usage + +fun other() {} \ No newline at end of file