diff --git a/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCacheImpl.kt b/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCacheImpl.kt index 903cb95971a..33540d9aa35 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCacheImpl.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCacheImpl.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2015 JetBrains s.r.o. + * Copyright 2010-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,8 @@ import com.intellij.util.io.EnumeratorStringDescriptor import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.build.GeneratedJvmClass import org.jetbrains.kotlin.config.IncrementalCompilation +import org.jetbrains.kotlin.incremental.ChangeInfo.MembersChanged +import org.jetbrains.kotlin.incremental.ChangeInfo.Removed import org.jetbrains.kotlin.incremental.storage.* import org.jetbrains.kotlin.inline.inlineFunctionsJvmNames import org.jetbrains.kotlin.load.kotlin.ModuleMapping @@ -32,12 +34,14 @@ import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache import org.jetbrains.kotlin.load.kotlin.incremental.components.JvmPackagePartProto import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.resolve.jvm.JvmClassName +import org.jetbrains.kotlin.serialization.Flags import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.NameResolver import org.jetbrains.kotlin.serialization.deserialization.TypeTable import org.jetbrains.kotlin.serialization.deserialization.supertypes import org.jetbrains.kotlin.serialization.jvm.BitEncoding import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil +import org.jetbrains.kotlin.utils.singletonOrEmptyList import org.jetbrains.org.objectweb.asm.* import java.io.File import java.security.MessageDigest @@ -207,32 +211,34 @@ open class IncrementalCacheImpl( debugLog("$className is changed: $this") } - fun clearCacheForRemovedClasses(): CompilationResult { - + private fun computeChanges(className: JvmClassName, createChangeInfo: (FqName, Collection) -> ChangeInfo): List { fun T.getNonPrivateNames(nameResolver: NameResolver, vararg members: T.() -> List): Set = members.flatMap { this.it().filterNot { it.isPrivate }.names(nameResolver) }.toSet() - fun createChangeInfo(className: JvmClassName): ChangeInfo? { - if (className.internalName == MODULE_MAPPING_FILE_NAME) return null + if (className.internalName == MODULE_MAPPING_FILE_NAME) return emptyList() - val mapValue = protoMap.get(className) ?: return null + val mapValue = protoMap[className] ?: return emptyList() - return when { - mapValue.isPackageFacade -> { - val packageData = JvmProtoBufUtil.readPackageDataFrom(mapValue.bytes, mapValue.strings) + return when { + mapValue.isPackageFacade -> { + val packageData = JvmProtoBufUtil.readPackageDataFrom(mapValue.bytes, mapValue.strings) - val memberNames = - packageData.packageProto.getNonPrivateNames( - packageData.nameResolver, - ProtoBuf.Package::getFunctionList, - ProtoBuf.Package::getPropertyList - ) + val memberNames = + packageData.packageProto.getNonPrivateNames( + packageData.nameResolver, + ProtoBuf.Package::getFunctionList, + ProtoBuf.Package::getPropertyList + ) - ChangeInfo.Removed(className.packageFqName, memberNames) - } - else -> { - val classData = JvmProtoBufUtil.readClassDataFrom(mapValue.bytes, mapValue.strings) + listOf(createChangeInfo(className.packageFqName, memberNames)) + } + else -> { + val classData = JvmProtoBufUtil.readClassDataFrom(mapValue.bytes, mapValue.strings) + val classFqName = className.fqNameForClassNameWithoutDollars + val kind = Flags.CLASS_KIND.get(classData.classProto.flags) + + if (kind == ProtoBuf.Class.Kind.COMPANION_OBJECT) { val memberNames = classData.classProto.getNonPrivateNames( classData.nameResolver, @@ -241,11 +247,19 @@ open class IncrementalCacheImpl( ProtoBuf.Class::getPropertyList ) + classData.classProto.enumEntryList.map { classData.nameResolver.getString(it.name) } - ChangeInfo.Removed(className.fqNameForClassNameWithoutDollars, memberNames) + val companionObjectChanged = createChangeInfo(classFqName.parent(), classFqName.shortName().asString().singletonOrEmptyList()) + val companionObjectMembersChanged = createChangeInfo(classFqName, memberNames) + + listOf(companionObjectMembersChanged, companionObjectChanged) + } + else { + listOf(ChangeInfo.SignatureChanged(classFqName, areSubclassesAffected = true)) } } } + } + fun clearCacheForRemovedClasses(): CompilationResult { val dirtyClasses = dirtyOutputClassesMap .getDirtyOutputClasses() .map(JvmClassName::byInternalName) @@ -253,7 +267,7 @@ open class IncrementalCacheImpl( val changes = if (IncrementalCompilation.isExperimental()) - dirtyClasses.mapNotNull { createChangeInfo(it) }.asSequence() + dirtyClasses.flatMap { computeChanges(it, ::Removed) }.asSequence() else emptySequence() @@ -346,9 +360,6 @@ open class IncrementalCacheImpl( experimentalMaps.forEach { it.clean() } } - fun classesBySources(sources: Iterable): Iterable = - sources.flatMap { sourceToClassesMap[it] } - private inner class ProtoMap(storageFile: File) : BasicStringMap(storageFile, ProtoMapValueExternalizer) { fun process(kotlinClass: LocalFileKotlinClass, isPackage: Boolean): CompilationResult { @@ -376,7 +387,17 @@ open class IncrementalCacheImpl( storage[key] = data } - if (oldData == null || !checkChangesIsOpenPart) return CompilationResult(protoChanged = true) + if (!checkChangesIsOpenPart) return CompilationResult(protoChanged = true) + + if (oldData == null) { + val changes = + if (IncrementalCompilation.isExperimental()) + computeChanges(className, ::MembersChanged).asSequence() + else + emptySequence() + + return CompilationResult(protoChanged = true, changes = changes) + } val difference = difference(oldData, data) val fqName = if (isPackage) className.packageFqName else className.fqNameForClassNameWithoutDollars diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index 605a25549df..641dc532c0f 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -65,12 +65,12 @@ abstract class AbstractIncrementalJpsTest( private val allowNoBuildLogFileInTestData: Boolean = false ) : JpsBuildTestCase() { companion object { - val COMPILATION_FAILED = "COMPILATION FAILED" + private val COMPILATION_FAILED = "COMPILATION FAILED" // change to "/tmp" or anything when default is too long (for easier debugging) - val TEMP_DIRECTORY_TO_USE = File(FileUtilRt.getTempDirectory()) + private val TEMP_DIRECTORY_TO_USE = File(FileUtilRt.getTempDirectory()) - val DEBUG_LOGGING_ENABLED = System.getProperty("debug.logging.enabled") == "true" + private val DEBUG_LOGGING_ENABLED = System.getProperty("debug.logging.enabled") == "true" } protected open val enableExperimentalIncrementalCompilation = false diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java index c3ca6dd14ba..c88cb6cc955 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java @@ -61,12 +61,30 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta doTest(fileName); } + @TestMetadata("classAdded") + public void testClassAdded() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/classAdded/"); + doTest(fileName); + } + + @TestMetadata("classRemoved") + public void testClassRemoved() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/classRemoved/"); + doTest(fileName); + } + @TestMetadata("constantValueChanged") public void testConstantValueChanged() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/constantValueChanged/"); doTest(fileName); } + @TestMetadata("copyFileToAnotherModule") + public void testCopyFileToAnotherModule() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/"); + doTest(fileName); + } + @TestMetadata("defaultParameterAdded") public void testDefaultParameterAdded() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAdded/"); @@ -175,6 +193,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta doTest(fileName); } + @TestMetadata("addClass") + public void testAddClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addClass/"); + doTest(fileName); + } + + @TestMetadata("addFileWithFunctionOverload") + public void testAddFileWithFunctionOverload() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/"); + doTest(fileName); + } + @TestMetadata("allConstants") public void testAllConstants() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/"); @@ -743,6 +773,48 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta doTest(fileName); } + @TestMetadata("removeAndRestoreCompanion") + public void testRemoveAndRestoreCompanion() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/"); + doTest(fileName); + } + + @TestMetadata("removeAndRestoreCompanionWithImplicitUsages") + public void testRemoveAndRestoreCompanionWithImplicitUsages() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/"); + doTest(fileName); + } + + @TestMetadata("removeClass") + public void testRemoveClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeClass/"); + doTest(fileName); + } + + @TestMetadata("removeClassInDefaultPackage") + public void testRemoveClassInDefaultPackage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/"); + doTest(fileName); + } + + @TestMetadata("removeFileWithFunctionOverload") + public void testRemoveFileWithFunctionOverload() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/"); + doTest(fileName); + } + + @TestMetadata("renameClass") + public void testRenameClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/renameClass/"); + doTest(fileName); + } + + @TestMetadata("renameFileWithFunctionOverload") + public void testRenameFileWithFunctionOverload() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/"); + doTest(fileName); + } + @TestMetadata("returnTypeChanged") public void testReturnTypeChanged() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/"); @@ -1164,6 +1236,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta doTest(fileName); } + @TestMetadata("classRemoved") + public void testClassRemoved() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/"); + doTest(fileName); + } + + @TestMetadata("classRemovedAndRestored") + public void testClassRemovedAndRestored() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/"); + doTest(fileName); + } + @TestMetadata("classToPackageFacade") public void testClassToPackageFacade() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/classToPackageFacade/"); diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java index da142333f80..23aba42cd33 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java @@ -61,12 +61,30 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("classAdded") + public void testClassAdded() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/classAdded/"); + doTest(fileName); + } + + @TestMetadata("classRemoved") + public void testClassRemoved() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/classRemoved/"); + doTest(fileName); + } + @TestMetadata("constantValueChanged") public void testConstantValueChanged() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/constantValueChanged/"); doTest(fileName); } + @TestMetadata("copyFileToAnotherModule") + public void testCopyFileToAnotherModule() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/"); + doTest(fileName); + } + @TestMetadata("defaultParameterAdded") public void testDefaultParameterAdded() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAdded/"); @@ -175,6 +193,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("addClass") + public void testAddClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addClass/"); + doTest(fileName); + } + + @TestMetadata("addFileWithFunctionOverload") + public void testAddFileWithFunctionOverload() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/"); + doTest(fileName); + } + @TestMetadata("allConstants") public void testAllConstants() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/"); @@ -743,6 +773,48 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("removeAndRestoreCompanion") + public void testRemoveAndRestoreCompanion() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/"); + doTest(fileName); + } + + @TestMetadata("removeAndRestoreCompanionWithImplicitUsages") + public void testRemoveAndRestoreCompanionWithImplicitUsages() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/"); + doTest(fileName); + } + + @TestMetadata("removeClass") + public void testRemoveClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeClass/"); + doTest(fileName); + } + + @TestMetadata("removeClassInDefaultPackage") + public void testRemoveClassInDefaultPackage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/"); + doTest(fileName); + } + + @TestMetadata("removeFileWithFunctionOverload") + public void testRemoveFileWithFunctionOverload() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/"); + doTest(fileName); + } + + @TestMetadata("renameClass") + public void testRenameClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/renameClass/"); + doTest(fileName); + } + + @TestMetadata("renameFileWithFunctionOverload") + public void testRenameFileWithFunctionOverload() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/"); + doTest(fileName); + } + @TestMetadata("returnTypeChanged") public void testReturnTypeChanged() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/"); diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/A.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/A.kt new file mode 100644 index 00000000000..19a6b32f38d --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/A.kt @@ -0,0 +1,5 @@ +package foo + +open class A { + fun foo() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/A.kt.delete.1 b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/A.kt.delete.1 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/B.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/B.kt new file mode 100644 index 00000000000..f0800c360d3 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/B.kt @@ -0,0 +1,5 @@ +package foo + +open class B : A() { + fun bar() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/B.kt.new.2 b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/B.kt.new.2 new file mode 100644 index 00000000000..00327a6911c --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/B.kt.new.2 @@ -0,0 +1,5 @@ +package foo + +open class B { + fun bar() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/C.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/C.kt new file mode 100644 index 00000000000..a539cafa7f2 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/C.kt @@ -0,0 +1,5 @@ +package foo + +class C : B() { + fun baz() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/build.log b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/build.log new file mode 100644 index 00000000000..ffa296c5f05 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/build.log @@ -0,0 +1,63 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: +End of files +Marked as dirty by Kotlin: + src/B.kt + src/createA.kt + src/useAfoo.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/B.class + out/production/module/use/CreateAKt.class + out/production/module/use/UseAfooKt.class +End of files +Compiling files: + src/B.kt + src/createA.kt + src/useAfoo.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: A +Unresolved reference: A + +================ Step #2 ================= + +Compiling files: + src/B.kt + src/createA.kt + src/funA.kt + src/useAfoo.kt +End of files +Marked as dirty by Kotlin: + src/C.kt + src/createB.kt + src/createC.kt + src/useBbar.kt + src/useCbaz.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/C.class + out/production/module/use/CreateBKt.class + out/production/module/use/CreateCKt.class + out/production/module/use/UseBbarKt.class + out/production/module/use/UseCbazKt.class +End of files +Compiling files: + src/C.kt + src/createB.kt + src/createC.kt + src/useBbar.kt + src/useCbaz.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createA.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createA.kt new file mode 100644 index 00000000000..6821a4e06c0 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createA.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createA() = A() diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createB.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createB.kt new file mode 100644 index 00000000000..743cd73cb57 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createB.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createB() = B() diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createC.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createC.kt new file mode 100644 index 00000000000..403887a65ee --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/createC.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createC() = C() diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/funA.kt.new.2 b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/funA.kt.new.2 new file mode 100644 index 00000000000..b878a6b5466 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/funA.kt.new.2 @@ -0,0 +1,7 @@ +package foo + +fun A(a: Int = 1) = AnotherA() + +class AnotherA { + fun foo() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/other.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/other.kt new file mode 100644 index 00000000000..1d758703f95 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useAfoo.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useAfoo.kt new file mode 100644 index 00000000000..ebac21a6cbe --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useAfoo.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfoo() { + createA().foo() +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useBbar.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useBbar.kt new file mode 100644 index 00000000000..cad51bcbad1 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useBbar.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useBbar() { + createB().bar() +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useCbaz.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useCbaz.kt new file mode 100644 index 00000000000..72c907f222c --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/useCbaz.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useCbaz() { + createC().baz() +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt new file mode 100644 index 00000000000..19a6b32f38d --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt @@ -0,0 +1,5 @@ +package foo + +open class A { + fun foo() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt.delete.1 b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt.delete.1 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt.new.2 b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt.new.2 new file mode 100644 index 00000000000..19a6b32f38d --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/A.kt.new.2 @@ -0,0 +1,5 @@ +package foo + +open class A { + fun foo() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/B.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/B.kt new file mode 100644 index 00000000000..dede900d0bd --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/B.kt @@ -0,0 +1,5 @@ +package foo + +class B : A() { + fun bar() {} +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/build.log b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/build.log new file mode 100644 index 00000000000..83413c7c912 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/build.log @@ -0,0 +1,64 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: +End of files +Marked as dirty by Kotlin: + src/B.kt + src/createA.kt + src/useAfoo.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/B.class + out/production/module/use/CreateAKt.class + out/production/module/use/UseAfooKt.class +End of files +Compiling files: + src/B.kt + src/createA.kt + src/useAfoo.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: A +Unresolved reference: A + +================ Step #2 ================= + +Compiling files: + src/A.kt + src/B.kt + src/createA.kt + src/useAfoo.kt +End of files +Marked as dirty by Kotlin: + src/createB.kt + src/useBbar.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/use/CreateBKt.class + out/production/module/use/UseBbarKt.class +End of files +Compiling files: + src/createB.kt + src/useBbar.kt +End of files +Exit code: OK +------------------------------------------ + +================ Step #3 ================= + +Compiling files: + src/failCompilation.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Expecting a top level declaration diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/createA.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/createA.kt new file mode 100644 index 00000000000..6821a4e06c0 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/createA.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createA() = A() diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/createB.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/createB.kt new file mode 100644 index 00000000000..743cd73cb57 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/createB.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createB() = B() diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/failCompilation.kt.new.3 b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/failCompilation.kt.new.3 new file mode 100644 index 00000000000..fed605d81da --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/failCompilation.kt.new.3 @@ -0,0 +1,3 @@ +// TODO remove this file after IDEA-154389 will be fixed + +invalid_code diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/other.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/other.kt new file mode 100644 index 00000000000..1d758703f95 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/useAfoo.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/useAfoo.kt new file mode 100644 index 00000000000..ebac21a6cbe --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/useAfoo.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfoo() { + createA().foo() +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/useBbar.kt b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/useBbar.kt new file mode 100644 index 00000000000..cad51bcbad1 --- /dev/null +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/useBbar.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useBbar() { + createB().bar() +} diff --git a/jps-plugin/testData/incremental/classHierarchyAffected/classToPackageFacade/build.log b/jps-plugin/testData/incremental/classHierarchyAffected/classToPackageFacade/build.log index c1a17799b80..4e14747989d 100644 --- a/jps-plugin/testData/incremental/classHierarchyAffected/classToPackageFacade/build.log +++ b/jps-plugin/testData/incremental/classHierarchyAffected/classToPackageFacade/build.log @@ -9,6 +9,7 @@ Compiling files: src/APartG.kt End of files Marked as dirty by Kotlin: + src/AChild.kt src/useF.kt src/useG.kt Exit code: ADDITIONAL_PASS_REQUIRED diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/build.log b/jps-plugin/testData/incremental/multiModule/classAdded/build.log new file mode 100644 index 00000000000..46c607d8c12 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/build.log @@ -0,0 +1,53 @@ +================ Step #1 ================= + +Building module1 +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Compiling files: + module2/src/A.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/foo/B.class + out/production/module2/other/OtherKt.class + out/production/module2/use/CreateAKt.class + out/production/module2/use/CreateBKt.class + out/production/module2/use/UseAfooKt.class + out/production/module2/use/UseBbarKt.class +End of files +Compiling files: + module2/src/B.kt + module2/src/createA.kt + module2/src/createB.kt + module2/src/other.kt + module2/src/useAfoo.kt + module2/src/useBbar.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: foo + +================ Step #2 ================= + +Building module1 +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/foo/A.class +End of files +Compiling files: + module2/src/A.kt + module2/src/B.kt + module2/src/createA.kt + module2/src/createB.kt + module2/src/other.kt + module2/src/useAfoo.kt + module2/src/useBbar.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/dependencies.txt b/jps-plugin/testData/incremental/multiModule/classAdded/dependencies.txt new file mode 100644 index 00000000000..827bf04cc58 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/dependencies.txt @@ -0,0 +1,2 @@ +module1-> +module2->module1 diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/experimental-ic-build.log b/jps-plugin/testData/incremental/multiModule/classAdded/experimental-ic-build.log new file mode 100644 index 00000000000..7e91e1f8b82 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/experimental-ic-build.log @@ -0,0 +1,63 @@ +================ Step #1 ================= + +Building module1 +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Compiling files: + module2/src/A.kt +End of files +Marked as dirty by Kotlin: + module1/src/A.kt + module2/src/B.kt + module2/src/createA.kt + module2/src/createB.kt + module2/src/useAfoo.kt + module2/src/useBbar.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/foo/B.class + out/production/module2/use/CreateAKt.class + out/production/module2/use/CreateBKt.class + out/production/module2/use/UseAfooKt.class + out/production/module2/use/UseBbarKt.class +End of files +Compiling files: + module2/src/B.kt + module2/src/createA.kt + module2/src/createB.kt + module2/src/useAfoo.kt + module2/src/useBbar.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: foo + +================ Step #2 ================= + +Building module1 +Cleaning output files: + out/production/module1/foo/A.class +End of files +Compiling files: + module1/src/A.kt +End of files +Exit code: OK +------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/foo/A.class +End of files +Compiling files: + module2/src/A.kt + module2/src/B.kt + module2/src/createA.kt + module2/src/createB.kt + module2/src/useAfoo.kt + module2/src/useBbar.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module1_A.kt b/jps-plugin/testData/incremental/multiModule/classAdded/module1_A.kt new file mode 100644 index 00000000000..19a6b32f38d --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module1_A.kt @@ -0,0 +1,5 @@ +package foo + +open class A { + fun foo() {} +} diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_A.kt.new.1 b/jps-plugin/testData/incremental/multiModule/classAdded/module2_A.kt.new.1 new file mode 100644 index 00000000000..14b753925c5 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_A.kt.new.1 @@ -0,0 +1,5 @@ +package foo + +open class A { + fun boo() {} +} diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_B.kt b/jps-plugin/testData/incremental/multiModule/classAdded/module2_B.kt new file mode 100644 index 00000000000..dede900d0bd --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_B.kt @@ -0,0 +1,5 @@ +package foo + +class B : A() { + fun bar() {} +} diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_createA.kt b/jps-plugin/testData/incremental/multiModule/classAdded/module2_createA.kt new file mode 100644 index 00000000000..6821a4e06c0 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_createA.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createA() = A() diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_createB.kt b/jps-plugin/testData/incremental/multiModule/classAdded/module2_createB.kt new file mode 100644 index 00000000000..743cd73cb57 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_createB.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createB() = B() diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_other.kt b/jps-plugin/testData/incremental/multiModule/classAdded/module2_other.kt new file mode 100644 index 00000000000..1d758703f95 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_useAfoo.kt b/jps-plugin/testData/incremental/multiModule/classAdded/module2_useAfoo.kt new file mode 100644 index 00000000000..ebac21a6cbe --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_useAfoo.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfoo() { + createA().foo() +} diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_useAfoo.kt.new.2 b/jps-plugin/testData/incremental/multiModule/classAdded/module2_useAfoo.kt.new.2 new file mode 100644 index 00000000000..2896471b644 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_useAfoo.kt.new.2 @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfoo() { + createA().boo() +} diff --git a/jps-plugin/testData/incremental/multiModule/classAdded/module2_useBbar.kt b/jps-plugin/testData/incremental/multiModule/classAdded/module2_useBbar.kt new file mode 100644 index 00000000000..cad51bcbad1 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classAdded/module2_useBbar.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useBbar() { + createB().bar() +} diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/build.log b/jps-plugin/testData/incremental/multiModule/classRemoved/build.log new file mode 100644 index 00000000000..4ccb04b77f1 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/build.log @@ -0,0 +1,65 @@ +================ Step #1 ================= + +Building module1 +Exit code: NOTHING_DONE +------------------------------------------ +Cleaning output files: + out/production/module2/foo/A.class +End of files +Building module2 +Compiling files: +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/foo/B.class + out/production/module2/other/OtherKt.class + out/production/module2/use/CreateAKt.class + out/production/module2/use/CreateBKt.class + out/production/module2/use/UseAfooKt.class + out/production/module2/use/UseBbarKt.class +End of files +Compiling files: + module2/src/B.kt + module2/src/createA.kt + module2/src/createB.kt + module2/src/other.kt + module2/src/useAfoo.kt + module2/src/useBbar.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: boo + +================ Step #2 ================= + +Building module1 +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Compiling files: + module2/src/B.kt + module2/src/createA.kt + module2/src/createB.kt + module2/src/other.kt + module2/src/useAfoo.kt + module2/src/useBbar.kt +End of files +Exit code: OK +------------------------------------------ + +================ Step #3 ================= + +Building module1 +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Compiling files: + module2/src/failCompilation.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Expecting a top level declaration diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/dependencies.txt b/jps-plugin/testData/incremental/multiModule/classRemoved/dependencies.txt new file mode 100644 index 00000000000..827bf04cc58 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/dependencies.txt @@ -0,0 +1,2 @@ +module1-> +module2->module1 diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/experimental-ic-build.log b/jps-plugin/testData/incremental/multiModule/classRemoved/experimental-ic-build.log new file mode 100644 index 00000000000..020f7c40e01 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/experimental-ic-build.log @@ -0,0 +1,73 @@ +================ Step #1 ================= + +Building module1 +Cleaning output files: + out/production/module1/foo/A.class +End of files +Compiling files: + module1/src/A.kt +End of files +Exit code: OK +------------------------------------------ +Cleaning output files: + out/production/module2/foo/A.class +End of files +Building module2 +Compiling files: +End of files +Marked as dirty by Kotlin: + module1/src/A.kt + module2/src/B.kt + module2/src/createA.kt + module2/src/useAfoo.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/foo/B.class + out/production/module2/use/CreateAKt.class + out/production/module2/use/UseAfooKt.class +End of files +Compiling files: + module2/src/B.kt + module2/src/createA.kt + module2/src/useAfoo.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: boo + +================ Step #2 ================= + +Building module1 +Cleaning output files: + out/production/module1/foo/A.class +End of files +Compiling files: + module1/src/A.kt +End of files +Exit code: OK +------------------------------------------ +Building module2 +Compiling files: + module2/src/B.kt + module2/src/createA.kt + module2/src/useAfoo.kt +End of files +Exit code: OK +------------------------------------------ + +================ Step #3 ================= + +Building module1 +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Compiling files: + module2/src/failCompilation.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Expecting a top level declaration diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module1_A.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module1_A.kt new file mode 100644 index 00000000000..19a6b32f38d --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module1_A.kt @@ -0,0 +1,5 @@ +package foo + +open class A { + fun foo() {} +} diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_A.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_A.kt new file mode 100644 index 00000000000..14b753925c5 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_A.kt @@ -0,0 +1,5 @@ +package foo + +open class A { + fun boo() {} +} diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_A.kt.delete.1 b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_A.kt.delete.1 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_B.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_B.kt new file mode 100644 index 00000000000..dede900d0bd --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_B.kt @@ -0,0 +1,5 @@ +package foo + +class B : A() { + fun bar() {} +} diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_createA.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_createA.kt new file mode 100644 index 00000000000..6821a4e06c0 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_createA.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createA() = A() diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_createB.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_createB.kt new file mode 100644 index 00000000000..743cd73cb57 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_createB.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun createB() = B() diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_failCompilation.kt.new.4 b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_failCompilation.kt.new.4 new file mode 100644 index 00000000000..5974f44fb71 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_failCompilation.kt.new.4 @@ -0,0 +1,3 @@ +// TODO remove this file after IDEA-154390 will be fixed + +invalid_code diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_other.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_other.kt new file mode 100644 index 00000000000..1d758703f95 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useAfoo.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useAfoo.kt new file mode 100644 index 00000000000..2896471b644 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useAfoo.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfoo() { + createA().boo() +} diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useAfoo.kt.new.2 b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useAfoo.kt.new.2 new file mode 100644 index 00000000000..ebac21a6cbe --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useAfoo.kt.new.2 @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfoo() { + createA().foo() +} diff --git a/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useBbar.kt b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useBbar.kt new file mode 100644 index 00000000000..cad51bcbad1 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/classRemoved/module2_useBbar.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useBbar() { + createB().bar() +} diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/build.log b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/build.log new file mode 100644 index 00000000000..8dda87a5c9d --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/build.log @@ -0,0 +1,41 @@ +================ Step #1 ================= + +Building module1 +Compiling files: + module1/src/b.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module1/META-INF/module1.kotlin_module + out/production/module1/a/A.class + out/production/module1/a/AKt.class +End of files +Compiling files: + module1/src/a.kt +End of files +Exit code: OK +------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/usage/UseClassBKt.class + out/production/module2/usage/UseFunBKt.class +End of files +Compiling files: + module2/src/useClassB.kt + module2/src/useFunB.kt +End of files +Exit code: OK +------------------------------------------ + +================ Step #2 ================= + +Building module1 +Compiling files: + module1/src/failCompilation.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Expecting a top level declaration diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/dependencies.txt b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/dependencies.txt new file mode 100644 index 00000000000..827bf04cc58 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/dependencies.txt @@ -0,0 +1,2 @@ +module1-> +module2->module1 diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/experimental-ic-build.log b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/experimental-ic-build.log new file mode 100644 index 00000000000..b10de0a77e1 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/experimental-ic-build.log @@ -0,0 +1,40 @@ +================ Step #1 ================= + +Building module1 +Compiling files: + module1/src/b.kt +End of files +Marked as dirty by Kotlin: + module2/src/b.kt + module2/src/useClassB.kt + module2/src/useFunB.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/b/B.class + out/production/module2/b/BKt.class + out/production/module2/usage/UseClassBKt.class + out/production/module2/usage/UseFunBKt.class +End of files +Compiling files: + module2/src/b.kt + module2/src/useClassB.kt + module2/src/useFunB.kt +End of files +Exit code: OK +------------------------------------------ + +================ Step #2 ================= + +Building module1 +Compiling files: + module1/src/failCompilation.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Expecting a top level declaration diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_a.kt b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_a.kt new file mode 100644 index 00000000000..a3470c00a84 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_a.kt @@ -0,0 +1,6 @@ +package a + +class A + +fun a() { +} diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_b.kt.new.1 b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_b.kt.new.1 new file mode 100644 index 00000000000..7965b9e82a5 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_b.kt.new.1 @@ -0,0 +1,6 @@ +package b + +class B + +fun b() { +} diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_failCompilation.kt.new.2 b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_failCompilation.kt.new.2 new file mode 100644 index 00000000000..07014f41b99 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module1_failCompilation.kt.new.2 @@ -0,0 +1,3 @@ +// TODO remove this file after IDEA-154394 will be fixed + +invalid_code diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_b.kt b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_b.kt new file mode 100644 index 00000000000..7965b9e82a5 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_b.kt @@ -0,0 +1,6 @@ +package b + +class B + +fun b() { +} diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useClassA.kt b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useClassA.kt new file mode 100644 index 00000000000..a6e5135a4b4 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useClassA.kt @@ -0,0 +1,5 @@ +package usage + +fun useClassA() { + a.A() +} diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useClassB.kt b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useClassB.kt new file mode 100644 index 00000000000..568e8076a09 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useClassB.kt @@ -0,0 +1,5 @@ +package usage + +fun useClassB() { + b.B() +} diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useFunA.kt b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useFunA.kt new file mode 100644 index 00000000000..9cee04d3276 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useFunA.kt @@ -0,0 +1,5 @@ +package usage + +fun useFunA() { + a.a() +} diff --git a/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useFunB.kt b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useFunB.kt new file mode 100644 index 00000000000..bb4d7bca61f --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/module2_useFunB.kt @@ -0,0 +1,5 @@ +package usage + +fun useFunB() { + b.b() +} diff --git a/jps-plugin/testData/incremental/multiModule/moveFileToAnotherModule/experimental-ic-build.log b/jps-plugin/testData/incremental/multiModule/moveFileToAnotherModule/experimental-ic-build.log index 533f1ecbd0a..757cb7c283c 100644 --- a/jps-plugin/testData/incremental/multiModule/moveFileToAnotherModule/experimental-ic-build.log +++ b/jps-plugin/testData/incremental/multiModule/moveFileToAnotherModule/experimental-ic-build.log @@ -4,7 +4,13 @@ Building module1 Compiling files: module1/src/b.kt End of files -Exit code: OK +Marked as dirty by Kotlin: + module2/src/b.kt + module2/src/useClassB.kt + module2/src/useFunB.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Exit code: NOTHING_DONE ------------------------------------------ Cleaning output files: out/production/module2/META-INF/module2.kotlin_module diff --git a/jps-plugin/testData/incremental/pureKotlin/addClass/A.kt.new b/jps-plugin/testData/incremental/pureKotlin/addClass/A.kt.new new file mode 100644 index 00000000000..c31fc881e2b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addClass/A.kt.new @@ -0,0 +1,3 @@ +package foo + +class A diff --git a/jps-plugin/testData/incremental/pureKotlin/addClass/build.log b/jps-plugin/testData/incremental/pureKotlin/addClass/build.log new file mode 100644 index 00000000000..5a960463450 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addClass/build.log @@ -0,0 +1,20 @@ +================ Step #1 ================= + +Compiling files: + src/A.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/FunAKt.class + out/production/module/other/OtherKt.class + out/production/module/use/UseAKt.class +End of files +Compiling files: + src/funA.kt + src/other.kt + src/useA.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/addClass/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/addClass/experimental-ic-build.log new file mode 100644 index 00000000000..9d2a2de8931 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addClass/experimental-ic-build.log @@ -0,0 +1,21 @@ +================ Step #1 ================= + +Compiling files: + src/A.kt +End of files +Marked as dirty by Kotlin: + src/funA.kt + src/useA.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/FunAKt.class + out/production/module/use/UseAKt.class +End of files +Compiling files: + src/funA.kt + src/useA.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/addClass/funA.kt b/jps-plugin/testData/incremental/pureKotlin/addClass/funA.kt new file mode 100644 index 00000000000..65abdd939e7 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addClass/funA.kt @@ -0,0 +1,3 @@ +package foo + +fun A(a: Int = 1){} diff --git a/jps-plugin/testData/incremental/pureKotlin/addClass/other.kt b/jps-plugin/testData/incremental/pureKotlin/addClass/other.kt new file mode 100644 index 00000000000..d3689e2ea8b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addClass/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/addClass/useA.kt b/jps-plugin/testData/incremental/pureKotlin/addClass/useA.kt new file mode 100644 index 00000000000..9f7e7f2a233 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addClass/useA.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useA() { + A() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/build.log b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/build.log new file mode 100644 index 00000000000..d91362e7c4c --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/build.log @@ -0,0 +1,20 @@ +================ Step #1 ================= + +Compiling files: + src/foo2.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo1Kt.class + out/production/module/other/OtherKt.class + out/production/module/use/UseKt.class +End of files +Compiling files: + src/foo1.kt + src/other.kt + src/use.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/experimental-ic-build.log new file mode 100644 index 00000000000..3d8ecd171a1 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/experimental-ic-build.log @@ -0,0 +1,21 @@ +================ Step #1 ================= + +Compiling files: + src/foo2.kt +End of files +Marked as dirty by Kotlin: + src/foo1.kt + src/use.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo1Kt.class + out/production/module/use/UseKt.class +End of files +Compiling files: + src/foo1.kt + src/use.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/foo1.kt b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/foo1.kt new file mode 100644 index 00000000000..bd7697f4035 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/foo1.kt @@ -0,0 +1,3 @@ +package foo + +fun f(a: Any) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/foo2.kt.new b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/foo2.kt.new new file mode 100644 index 00000000000..ac48e24c9e5 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/foo2.kt.new @@ -0,0 +1,3 @@ +package foo + +fun f(a: Int) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/other.kt b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/other.kt new file mode 100644 index 00000000000..d3689e2ea8b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/use.kt b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/use.kt new file mode 100644 index 00000000000..e9dbe9f4ac1 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/use.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useA() { + f(1) +} diff --git a/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/experimental-ic-build.log index 015c0970896..8de8f77c492 100644 --- a/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/experimental-ic-build.log +++ b/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/experimental-ic-build.log @@ -9,6 +9,7 @@ Compiling files: src/bar/a.kt End of files Marked as dirty by Kotlin: + src/useClass.kt src/useFun.kt Exit code: ADDITIONAL_PASS_REQUIRED ------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt new file mode 100644 index 00000000000..2f7dd0ca36f --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt @@ -0,0 +1,8 @@ +package foo + +class A { + companion object { + val bar = 1 + fun foo() {} + } +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt.new.1 b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt.new.1 new file mode 100644 index 00000000000..78fd9a12499 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt.new.1 @@ -0,0 +1,4 @@ +package foo + +class A { +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt.new.2 b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt.new.2 new file mode 100644 index 00000000000..2f7dd0ca36f --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/A.kt.new.2 @@ -0,0 +1,8 @@ +package foo + +class A { + companion object { + val bar = 1 + fun foo() {} + } +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/build.log b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/build.log new file mode 100644 index 00000000000..31986a634a4 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/build.log @@ -0,0 +1,44 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A$Companion.class + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/other/OtherKt.class + out/production/module/use/UseAKt.class + out/production/module/use/UseAbarKt.class + out/production/module/use/UseAfooKt.class +End of files +Compiling files: + src/other.kt + src/useA.kt + src/useAbar.kt + src/useAfoo.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: bar +Unresolved reference: foo + +================ Step #2 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt + src/other.kt + src/useA.kt + src/useAbar.kt + src/useAfoo.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/experimental-ic-build.log new file mode 100644 index 00000000000..6da65110b2a --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/experimental-ic-build.log @@ -0,0 +1,41 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A$Companion.class + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt +End of files +Marked as dirty by Kotlin: + src/useAbar.kt + src/useAfoo.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/use/UseAbarKt.class + out/production/module/use/UseAfooKt.class +End of files +Compiling files: + src/useAbar.kt + src/useAfoo.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: bar +Unresolved reference: foo + +================ Step #2 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt + src/useAbar.kt + src/useAfoo.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/other.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/other.kt new file mode 100644 index 00000000000..1d758703f95 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useA.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useA.kt new file mode 100644 index 00000000000..9f7e7f2a233 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useA.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useA() { + A() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useAbar.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useAbar.kt new file mode 100644 index 00000000000..3b225c94df4 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useAbar.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAbar() { + A.bar +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useAfoo.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useAfoo.kt new file mode 100644 index 00000000000..ab54273a874 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/useAfoo.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfoo() { + A.foo() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt new file mode 100644 index 00000000000..2f7dd0ca36f --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt @@ -0,0 +1,8 @@ +package foo + +class A { + companion object { + val bar = 1 + fun foo() {} + } +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt.new.1 b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt.new.1 new file mode 100644 index 00000000000..78fd9a12499 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt.new.1 @@ -0,0 +1,4 @@ +package foo + +class A { +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt.new.2 b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt.new.2 new file mode 100644 index 00000000000..2f7dd0ca36f --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/A.kt.new.2 @@ -0,0 +1,8 @@ +package foo + +class A { + companion object { + val bar = 1 + fun foo() {} + } +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/build.log b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/build.log new file mode 100644 index 00000000000..c27e845833a --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/build.log @@ -0,0 +1,53 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A$Companion.class + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/other/OtherKt.class + out/production/module/use/GetACompanionKt.class + out/production/module/use/GetACompanionShortKt.class + out/production/module/use/UseACompanionImplicitlyKt.class + out/production/module/use/UseACompanionShortImplicitlyKt.class + out/production/module/use/UseAbarWithImplicitReceiverKt.class + out/production/module/use/UseAfooWithImplicitReceiverKt.class +End of files +Compiling files: + src/getACompanion.kt + src/getACompanionShort.kt + src/other.kt + src/useACompanionImplicitly.kt + src/useACompanionShortImplicitly.kt + src/useAbarWithImplicitReceiver.kt + src/useAfooWithImplicitReceiver.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: Companion +Please specify constructor invocation; classifier 'A' does not have a companion object + +================ Step #2 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt + src/getACompanion.kt + src/getACompanionShort.kt + src/other.kt + src/useACompanionImplicitly.kt + src/useACompanionShortImplicitly.kt + src/useAbarWithImplicitReceiver.kt + src/useAfooWithImplicitReceiver.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/experimental-ic-build.log new file mode 100644 index 00000000000..f76979cc10a --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/experimental-ic-build.log @@ -0,0 +1,57 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A$Companion.class + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt +End of files +Marked as dirty by Kotlin: + src/getACompanion.kt + src/getACompanionShort.kt + src/useACompanionImplicitly.kt + src/useACompanionShortImplicitly.kt + src/useAbarWithImplicitReceiver.kt + src/useAfooWithImplicitReceiver.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/use/GetACompanionKt.class + out/production/module/use/GetACompanionShortKt.class + out/production/module/use/UseACompanionImplicitlyKt.class + out/production/module/use/UseACompanionShortImplicitlyKt.class + out/production/module/use/UseAbarWithImplicitReceiverKt.class + out/production/module/use/UseAfooWithImplicitReceiverKt.class +End of files +Compiling files: + src/getACompanion.kt + src/getACompanionShort.kt + src/useACompanionImplicitly.kt + src/useACompanionShortImplicitly.kt + src/useAbarWithImplicitReceiver.kt + src/useAfooWithImplicitReceiver.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Unresolved reference: Companion +Please specify constructor invocation; classifier 'A' does not have a companion object + +================ Step #2 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt + src/getACompanion.kt + src/getACompanionShort.kt + src/useACompanionImplicitly.kt + src/useACompanionShortImplicitly.kt + src/useAbarWithImplicitReceiver.kt + src/useAfooWithImplicitReceiver.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/getACompanion.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/getACompanion.kt new file mode 100644 index 00000000000..07be111bdc8 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/getACompanion.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun getACompanion() = A.Companion diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/getACompanionShort.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/getACompanionShort.kt new file mode 100644 index 00000000000..c48c918a127 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/getACompanionShort.kt @@ -0,0 +1,5 @@ +package use + +import foo.* + +fun getACompanionShort() = A diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/other.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/other.kt new file mode 100644 index 00000000000..1d758703f95 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useACompanionImplicitly.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useACompanionImplicitly.kt new file mode 100644 index 00000000000..aab5128d647 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useACompanionImplicitly.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useACompanionImplicitly() { + getACompanion() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useACompanionShortImplicitly.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useACompanionShortImplicitly.kt new file mode 100644 index 00000000000..fa3bd90b5a6 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useACompanionShortImplicitly.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useACompanionShortImplicitly() { + getACompanionShort() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useAbarWithImplicitReceiver.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useAbarWithImplicitReceiver.kt new file mode 100644 index 00000000000..53ef3d00db9 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useAbarWithImplicitReceiver.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAbarWithImplicitReceiver() { + getACompanionShort().bar +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useAfooWithImplicitReceiver.kt b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useAfooWithImplicitReceiver.kt new file mode 100644 index 00000000000..2326586ccf0 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/useAfooWithImplicitReceiver.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useAfooWithImplicitReceiver() { + getACompanion().foo() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClass/A.kt b/jps-plugin/testData/incremental/pureKotlin/removeClass/A.kt new file mode 100644 index 00000000000..c31fc881e2b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClass/A.kt @@ -0,0 +1,3 @@ +package foo + +class A diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClass/A.kt.delete b/jps-plugin/testData/incremental/pureKotlin/removeClass/A.kt.delete new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClass/build.log b/jps-plugin/testData/incremental/pureKotlin/removeClass/build.log new file mode 100644 index 00000000000..66dd7f71a62 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClass/build.log @@ -0,0 +1,22 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/FunAKt.class + out/production/module/other/OtherKt.class + out/production/module/use/UseAKt.class +End of files +Compiling files: + src/funA.kt + src/other.kt + src/useA.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClass/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/removeClass/experimental-ic-build.log new file mode 100644 index 00000000000..6b00e0c42bb --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClass/experimental-ic-build.log @@ -0,0 +1,23 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: +End of files +Marked as dirty by Kotlin: + src/funA.kt + src/useA.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/FunAKt.class + out/production/module/use/UseAKt.class +End of files +Compiling files: + src/funA.kt + src/useA.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClass/funA.kt b/jps-plugin/testData/incremental/pureKotlin/removeClass/funA.kt new file mode 100644 index 00000000000..7ac231ab2e0 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClass/funA.kt @@ -0,0 +1,4 @@ +package foo + +fun A(a: Int = 0) { +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClass/other.kt b/jps-plugin/testData/incremental/pureKotlin/removeClass/other.kt new file mode 100644 index 00000000000..d3689e2ea8b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClass/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClass/useA.kt b/jps-plugin/testData/incremental/pureKotlin/removeClass/useA.kt new file mode 100644 index 00000000000..9f7e7f2a233 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClass/useA.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useA() { + A() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/A.kt b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/A.kt new file mode 100644 index 00000000000..83d15dc739b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/A.kt @@ -0,0 +1 @@ +class A diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/A.kt.delete b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/A.kt.delete new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/build.log b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/build.log new file mode 100644 index 00000000000..613cac5f8b0 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/build.log @@ -0,0 +1,22 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/A.class +End of files +Compiling files: +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/FunAKt.class + out/production/module/META-INF/module.kotlin_module + out/production/module/UseAKt.class + out/production/module/other/OtherKt.class +End of files +Compiling files: + src/funA.kt + src/other.kt + src/useA.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/experimental-ic-build.log new file mode 100644 index 00000000000..fe11b6430b9 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/experimental-ic-build.log @@ -0,0 +1,23 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/A.class +End of files +Compiling files: +End of files +Marked as dirty by Kotlin: + src/funA.kt + src/useA.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/FunAKt.class + out/production/module/META-INF/module.kotlin_module + out/production/module/UseAKt.class +End of files +Compiling files: + src/funA.kt + src/useA.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/funA.kt b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/funA.kt new file mode 100644 index 00000000000..95dc410cc52 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/funA.kt @@ -0,0 +1,2 @@ +fun A(a: Int = 0) { +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/other.kt b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/other.kt new file mode 100644 index 00000000000..d3689e2ea8b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/useA.kt b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/useA.kt new file mode 100644 index 00000000000..8dfb7d1395e --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/useA.kt @@ -0,0 +1,3 @@ +fun useA() { + A() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/build.log b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/build.log new file mode 100644 index 00000000000..d1dd9f1c6c0 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/build.log @@ -0,0 +1,23 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo2Kt.class +End of files +Compiling files: +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo1Kt.class + out/production/module/other/OtherKt.class + out/production/module/use/UseKt.class +End of files +Compiling files: + src/foo1.kt + src/other.kt + src/use.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/experimental-ic-build.log new file mode 100644 index 00000000000..7ca6023648d --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/experimental-ic-build.log @@ -0,0 +1,24 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo2Kt.class +End of files +Compiling files: +End of files +Marked as dirty by Kotlin: + src/foo1.kt + src/use.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo1Kt.class + out/production/module/use/UseKt.class +End of files +Compiling files: + src/foo1.kt + src/use.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo1.kt b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo1.kt new file mode 100644 index 00000000000..bd7697f4035 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo1.kt @@ -0,0 +1,3 @@ +package foo + +fun f(a: Any) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo2.kt b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo2.kt new file mode 100644 index 00000000000..ac48e24c9e5 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo2.kt @@ -0,0 +1,3 @@ +package foo + +fun f(a: Int) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo2.kt.delete b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/foo2.kt.delete new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/other.kt b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/other.kt new file mode 100644 index 00000000000..d3689e2ea8b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/use.kt b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/use.kt new file mode 100644 index 00000000000..e9dbe9f4ac1 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/use.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useA() { + f(1) +} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/A.kt b/jps-plugin/testData/incremental/pureKotlin/renameClass/A.kt new file mode 100644 index 00000000000..c31fc881e2b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/A.kt @@ -0,0 +1,3 @@ +package foo + +class A diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/A.kt.new b/jps-plugin/testData/incremental/pureKotlin/renameClass/A.kt.new new file mode 100644 index 00000000000..f1e47bf2be3 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/A.kt.new @@ -0,0 +1,3 @@ +package foo + +class B diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/build.log b/jps-plugin/testData/incremental/pureKotlin/renameClass/build.log new file mode 100644 index 00000000000..5cba12d7339 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/build.log @@ -0,0 +1,25 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/FunsKt.class + out/production/module/other/OtherKt.class + out/production/module/use/UseAKt.class + out/production/module/use/UseBKt.class +End of files +Compiling files: + src/funs.kt + src/other.kt + src/useA.kt + src/useB.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/renameClass/experimental-ic-build.log new file mode 100644 index 00000000000..7bbc0435dff --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/experimental-ic-build.log @@ -0,0 +1,27 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/foo/A.class +End of files +Compiling files: + src/A.kt +End of files +Marked as dirty by Kotlin: + src/funs.kt + src/useA.kt + src/useB.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/FunsKt.class + out/production/module/use/UseAKt.class + out/production/module/use/UseBKt.class +End of files +Compiling files: + src/funs.kt + src/useA.kt + src/useB.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/funs.kt b/jps-plugin/testData/incremental/pureKotlin/renameClass/funs.kt new file mode 100644 index 00000000000..fb3931989a7 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/funs.kt @@ -0,0 +1,4 @@ +package foo + +fun A(a: Int = 1) {} +fun B(a: Int = 1) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/other.kt b/jps-plugin/testData/incremental/pureKotlin/renameClass/other.kt new file mode 100644 index 00000000000..d3689e2ea8b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/useA.kt b/jps-plugin/testData/incremental/pureKotlin/renameClass/useA.kt new file mode 100644 index 00000000000..9f7e7f2a233 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/useA.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useA() { + A() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameClass/useB.kt b/jps-plugin/testData/incremental/pureKotlin/renameClass/useB.kt new file mode 100644 index 00000000000..cd47d4827ef --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameClass/useB.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useB() { + B() +} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/build.log b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/build.log new file mode 100644 index 00000000000..d2afe11fa1b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/build.log @@ -0,0 +1,28 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo2Kt.class +End of files +Compiling files: + src/foo3.kt +End of files +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo0Kt.class + out/production/module/foo/Foo1Kt.class + out/production/module/other/OtherKt.class + out/production/module/use/UseFKt.class + out/production/module/use/UseGKt.class +End of files +Compiling files: + src/foo0.kt + src/foo1.kt + src/other.kt + src/useF.kt + src/useG.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/experimental-ic-build.log b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/experimental-ic-build.log new file mode 100644 index 00000000000..398d83e3118 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/experimental-ic-build.log @@ -0,0 +1,25 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo2Kt.class +End of files +Compiling files: + src/foo3.kt +End of files +Marked as dirty by Kotlin: + src/foo1.kt + src/useF.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/foo/Foo1Kt.class + out/production/module/use/UseFKt.class +End of files +Compiling files: + src/foo1.kt + src/useF.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo0.kt b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo0.kt new file mode 100644 index 00000000000..64145697fef --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo0.kt @@ -0,0 +1,3 @@ +package foo + +fun g(a: Any) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo1.kt b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo1.kt new file mode 100644 index 00000000000..bd7697f4035 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo1.kt @@ -0,0 +1,3 @@ +package foo + +fun f(a: Any) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo2.kt b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo2.kt new file mode 100644 index 00000000000..ac48e24c9e5 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo2.kt @@ -0,0 +1,3 @@ +package foo + +fun f(a: Int) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo2.kt.delete b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo2.kt.delete new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo3.kt.new b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo3.kt.new new file mode 100644 index 00000000000..ac48e24c9e5 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/foo3.kt.new @@ -0,0 +1,3 @@ +package foo + +fun f(a: Int) {} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/other.kt b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/other.kt new file mode 100644 index 00000000000..1d758703f95 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/other.kt @@ -0,0 +1,3 @@ +package other + +fun f() {} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/useF.kt b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/useF.kt new file mode 100644 index 00000000000..d88a974a775 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/useF.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useF() { + f(1) +} diff --git a/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/useG.kt b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/useG.kt new file mode 100644 index 00000000000..541bd66e55b --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/useG.kt @@ -0,0 +1,7 @@ +package use + +import foo.* + +fun useG() { + g(1) +} diff --git a/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlin/experimental-ic-build.log b/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlin/experimental-ic-build.log index 6188d73bf81..55facf81191 100644 --- a/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlin/experimental-ic-build.log +++ b/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlin/experimental-ic-build.log @@ -6,7 +6,9 @@ End of files Compiling files: src/TheClass.kt End of files -Exit code: OK +Marked as dirty by Kotlin: + src/usageInKotlin.kt +Exit code: ADDITIONAL_PASS_REQUIRED ------------------------------------------ Cleaning output files: out/production/module/META-INF/module.kotlin_module