From 08f5093adbd682aa07e332b36927ed3ae5de1ab5 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Thu, 24 Sep 2015 22:50:48 +0300 Subject: [PATCH] Add tests for cases when add and remove custom accessors for val with smartcasted usage Original commit: 79ac436b9f83de4503ec6d3066f0a4b8115e91d6 --- .../build/IncrementalJpsTestGenerated.java | 12 ++++++++++++ .../pureKotlin/valAddCustomAccessor/A.kt | 5 +++++ .../pureKotlin/valAddCustomAccessor/A.kt.new | 6 ++++++ .../pureKotlin/valAddCustomAccessor/build.log | 16 ++++++++++++++++ .../pureKotlin/valAddCustomAccessor/usage.kt | 8 ++++++++ .../pureKotlin/valRemoveCustomAccessor/A.kt | 6 ++++++ .../valRemoveCustomAccessor/A.kt.new.2 | 5 +++++ .../valRemoveCustomAccessor/build.log | 19 +++++++++++++++++++ .../valRemoveCustomAccessor/usage.kt | 8 ++++++++ .../valRemoveCustomAccessor/usage.kt.new.1 | 8 ++++++++ 10 files changed, 93 insertions(+) create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt.new create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/usage.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt.new.2 create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt.new.1 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 c69eca20406..3410fb148a9 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 @@ -551,6 +551,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("valAddCustomAccessor") + public void testValAddCustomAccessor() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/"); + doTest(fileName); + } + + @TestMetadata("valRemoveCustomAccessor") + public void testValRemoveCustomAccessor() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/"); + doTest(fileName); + } + } @TestMetadata("jps-plugin/testData/incremental/withJava") diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt new file mode 100644 index 00000000000..b4f36071131 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt @@ -0,0 +1,5 @@ +package test + +class A() { + val x: Int? = 100 +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt.new new file mode 100644 index 00000000000..eb3e9b669b5 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/A.kt.new @@ -0,0 +1,6 @@ +package test + +class A() { + val x: Int? = 100 + get() = field?.inc() +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log new file mode 100644 index 00000000000..6f1e2c934a1 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log @@ -0,0 +1,16 @@ +Cleaning output files: +out/production/module/test/A.class +End of files +Compiling files: +src/A.kt +End of files +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/test/TestPackage.class +out/production/module/test/UsageKt.class +End of files +Compiling files: +src/usage.kt +End of files +COMPILATION FAILED +Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type kotlin.Int? diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/usage.kt b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/usage.kt new file mode 100644 index 00000000000..a078d191b0b --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/usage.kt @@ -0,0 +1,8 @@ +package test + +public fun usage() { + val a = A() + if (a.x != null) { + a.x.dec() + } +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt new file mode 100644 index 00000000000..eb3e9b669b5 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt @@ -0,0 +1,6 @@ +package test + +class A() { + val x: Int? = 100 + get() = field?.inc() +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt.new.2 b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt.new.2 new file mode 100644 index 00000000000..b4f36071131 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/A.kt.new.2 @@ -0,0 +1,5 @@ +package test + +class A() { + val x: Int? = 100 +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/build.log new file mode 100644 index 00000000000..a16744da042 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/build.log @@ -0,0 +1,19 @@ +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/test/TestPackage.class +out/production/module/test/UsageKt.class +End of files +Compiling files: +src/usage.kt +End of files +COMPILATION FAILED +Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type kotlin.Int? + + +Cleaning output files: +out/production/module/test/A.class +End of files +Compiling files: +src/A.kt +src/usage.kt +End of files diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt new file mode 100644 index 00000000000..e7d40a8d067 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt @@ -0,0 +1,8 @@ +package test + +public fun usage() { + val a = A() + if (a.x != null) { +// a.x.dec() + } +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt.new.1 b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt.new.1 new file mode 100644 index 00000000000..a078d191b0b --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/usage.kt.new.1 @@ -0,0 +1,8 @@ +package test + +public fun usage() { + val a = A() + if (a.x != null) { + a.x.dec() + } +}