From 93eb09a654a6a7de3213c3598bb65d501c894064 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Wed, 18 Nov 2015 14:15:12 +0300 Subject: [PATCH] Return platform independent path in IncrementalCacheImpl::getClassFilePath Fix ExperimentalIncrementalJpsTestGenerated.PureKotlin.testFunctionBecameInline on Windows. --- .../kotlin/jps/incremental/IncrementalCacheImpl.kt | 3 ++- .../jps/build/ExperimentalIncrementalJpsTestGenerated.java | 6 ++++++ .../kotlin/jps/build/IncrementalJpsTestGenerated.java | 6 ++++++ .../pureKotlin/inlinFunctionUsageAdded/build.log | 7 +++++++ .../incremental/pureKotlin/inlinFunctionUsageAdded/foo.kt | 5 +++++ .../pureKotlin/inlinFunctionUsageAdded/usage.kt | 2 ++ .../pureKotlin/inlinFunctionUsageAdded/usage.kt.new | 3 +++ 7 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/build.log create mode 100644 jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/foo.kt create mode 100644 jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt create mode 100644 jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt.new diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt index 76166540794..0abcc98c861 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.jps.incremental import com.google.protobuf.MessageLite import com.intellij.openapi.util.io.FileUtil +import com.intellij.openapi.util.io.FileUtil.toSystemIndependentName import com.intellij.util.io.BooleanDataDescriptor import com.intellij.util.io.EnumeratorStringDescriptor import com.intellij.util.io.IOUtil @@ -137,7 +138,7 @@ public class IncrementalCacheImpl( } override fun getClassFilePath(internalClassName: String): String { - return File(outputDir, "$internalClassName.class").canonicalPath + return toSystemIndependentName(File(outputDir, "$internalClassName.class").canonicalPath) } public fun saveCacheFormatVersion() { diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java b/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java index 828ea743a87..a1d22faca06 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java @@ -347,6 +347,12 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta doTest(fileName); } + @TestMetadata("inlinFunctionUsageAdded") + public void testInlinFunctionUsageAdded() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/"); + doTest(fileName); + } + @TestMetadata("inlineFunctionRemoved") public void testInlineFunctionRemoved() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/inlineFunctionRemoved/"); diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java b/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java index c9c192a8b94..b7379d4f0f1 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java @@ -347,6 +347,12 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("inlinFunctionUsageAdded") + public void testInlinFunctionUsageAdded() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/"); + doTest(fileName); + } + @TestMetadata("inlineFunctionRemoved") public void testInlineFunctionRemoved() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/inlineFunctionRemoved/"); diff --git a/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/build.log b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/build.log new file mode 100644 index 00000000000..dfe9f195402 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/build.log @@ -0,0 +1,7 @@ +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/UsageKt.class +End of files +Compiling files: +src/usage.kt +End of files diff --git a/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/foo.kt b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/foo.kt new file mode 100644 index 00000000000..8e0180d263a --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/foo.kt @@ -0,0 +1,5 @@ +class A { + inline fun foo(f: () -> Unit) { + f() + } +} diff --git a/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt new file mode 100644 index 00000000000..c68615f0a0f --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt @@ -0,0 +1,2 @@ +fun usage() { +} diff --git a/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt.new b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt.new new file mode 100644 index 00000000000..2b569d97a7e --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/inlinFunctionUsageAdded/usage.kt.new @@ -0,0 +1,3 @@ +fun usage() { + A().foo {} +}