IC: take into account added and removed classes when calculate affected names
Original commit: 51c6abdbed
This commit is contained in:
+3
-3
@@ -65,12 +65,12 @@ abstract class AbstractIncrementalJpsTest(
|
|||||||
private val allowNoBuildLogFileInTestData: Boolean = false
|
private val allowNoBuildLogFileInTestData: Boolean = false
|
||||||
) : JpsBuildTestCase() {
|
) : JpsBuildTestCase() {
|
||||||
companion object {
|
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)
|
// 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
|
protected open val enableExperimentalIncrementalCompilation = false
|
||||||
|
|||||||
+84
@@ -61,12 +61,30 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("constantValueChanged")
|
||||||
public void testConstantValueChanged() throws Exception {
|
public void testConstantValueChanged() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/constantValueChanged/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/constantValueChanged/");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("copyFileToAnotherModule")
|
||||||
|
public void testCopyFileToAnotherModule() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("defaultParameterAdded")
|
@TestMetadata("defaultParameterAdded")
|
||||||
public void testDefaultParameterAdded() throws Exception {
|
public void testDefaultParameterAdded() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAdded/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAdded/");
|
||||||
@@ -175,6 +193,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("allConstants")
|
||||||
public void testAllConstants() throws Exception {
|
public void testAllConstants() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/");
|
||||||
@@ -743,6 +773,48 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("returnTypeChanged")
|
||||||
public void testReturnTypeChanged() throws Exception {
|
public void testReturnTypeChanged() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/");
|
||||||
@@ -1164,6 +1236,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("classToPackageFacade")
|
||||||
public void testClassToPackageFacade() throws Exception {
|
public void testClassToPackageFacade() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/classToPackageFacade/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/classHierarchyAffected/classToPackageFacade/");
|
||||||
|
|||||||
+72
@@ -61,12 +61,30 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("constantValueChanged")
|
||||||
public void testConstantValueChanged() throws Exception {
|
public void testConstantValueChanged() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/constantValueChanged/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/constantValueChanged/");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("copyFileToAnotherModule")
|
||||||
|
public void testCopyFileToAnotherModule() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/copyFileToAnotherModule/");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("defaultParameterAdded")
|
@TestMetadata("defaultParameterAdded")
|
||||||
public void testDefaultParameterAdded() throws Exception {
|
public void testDefaultParameterAdded() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAdded/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/defaultParameterAdded/");
|
||||||
@@ -175,6 +193,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("allConstants")
|
||||||
public void testAllConstants() throws Exception {
|
public void testAllConstants() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/");
|
||||||
@@ -743,6 +773,48 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("returnTypeChanged")
|
||||||
public void testReturnTypeChanged() throws Exception {
|
public void testReturnTypeChanged() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/");
|
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/");
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class B : A() {
|
||||||
|
fun bar() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class B {
|
||||||
|
fun bar() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class C : B() {
|
||||||
|
fun baz() {}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
------------------------------------------
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createA() = A()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createB() = B()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createC() = C()
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
fun A(a: Int = 1) = AnotherA()
|
||||||
|
|
||||||
|
class AnotherA {
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAfoo() {
|
||||||
|
createA().foo()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useBbar() {
|
||||||
|
createB().bar()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useCbaz() {
|
||||||
|
createC().baz()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class B : A() {
|
||||||
|
fun bar() {}
|
||||||
|
}
|
||||||
+64
@@ -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
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createA() = A()
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createB() = B()
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
// TODO remove this file after IDEA-154389 will be fixed
|
||||||
|
|
||||||
|
invalid_code
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAfoo() {
|
||||||
|
createA().foo()
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useBbar() {
|
||||||
|
createB().bar()
|
||||||
|
}
|
||||||
+1
@@ -9,6 +9,7 @@ Compiling files:
|
|||||||
src/APartG.kt
|
src/APartG.kt
|
||||||
End of files
|
End of files
|
||||||
Marked as dirty by Kotlin:
|
Marked as dirty by Kotlin:
|
||||||
|
src/AChild.kt
|
||||||
src/useF.kt
|
src/useF.kt
|
||||||
src/useG.kt
|
src/useG.kt
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
|
|||||||
@@ -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
|
||||||
|
------------------------------------------
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
module1->
|
||||||
|
module2->module1
|
||||||
@@ -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
|
||||||
|
------------------------------------------
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
fun boo() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class B : A() {
|
||||||
|
fun bar() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createA() = A()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createB() = B()
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAfoo() {
|
||||||
|
createA().foo()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAfoo() {
|
||||||
|
createA().boo()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useBbar() {
|
||||||
|
createB().bar()
|
||||||
|
}
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
module1->
|
||||||
|
module2->module1
|
||||||
+73
@@ -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
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
open class A {
|
||||||
|
fun boo() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class B : A() {
|
||||||
|
fun bar() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createA() = A()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun createB() = B()
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
// TODO remove this file after IDEA-154390 will be fixed
|
||||||
|
|
||||||
|
invalid_code
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAfoo() {
|
||||||
|
createA().boo()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAfoo() {
|
||||||
|
createA().foo()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useBbar() {
|
||||||
|
createB().bar()
|
||||||
|
}
|
||||||
@@ -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
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
module1->
|
||||||
|
module2->module1
|
||||||
+40
@@ -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
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package a
|
||||||
|
|
||||||
|
class A
|
||||||
|
|
||||||
|
fun a() {
|
||||||
|
}
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
package b
|
||||||
|
|
||||||
|
class B
|
||||||
|
|
||||||
|
fun b() {
|
||||||
|
}
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
// TODO remove this file after IDEA-154394 will be fixed
|
||||||
|
|
||||||
|
invalid_code
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package b
|
||||||
|
|
||||||
|
class B
|
||||||
|
|
||||||
|
fun b() {
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package usage
|
||||||
|
|
||||||
|
fun useClassA() {
|
||||||
|
a.A()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package usage
|
||||||
|
|
||||||
|
fun useClassB() {
|
||||||
|
b.B()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package usage
|
||||||
|
|
||||||
|
fun useFunA() {
|
||||||
|
a.a()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package usage
|
||||||
|
|
||||||
|
fun useFunB() {
|
||||||
|
b.b()
|
||||||
|
}
|
||||||
+7
-1
@@ -4,7 +4,13 @@ Building module1
|
|||||||
Compiling files:
|
Compiling files:
|
||||||
module1/src/b.kt
|
module1/src/b.kt
|
||||||
End of files
|
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:
|
Cleaning output files:
|
||||||
out/production/module2/META-INF/module2.kotlin_module
|
out/production/module2/META-INF/module2.kotlin_module
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class A
|
||||||
@@ -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
|
||||||
|
------------------------------------------
|
||||||
@@ -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
|
||||||
|
------------------------------------------
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
fun A(a: Int = 1){}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useA() {
|
||||||
|
A()
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
------------------------------------------
|
||||||
+21
@@ -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
|
||||||
|
------------------------------------------
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
fun f(a: Any) {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
fun f(a: Int) {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useA() {
|
||||||
|
f(1)
|
||||||
|
}
|
||||||
+1
@@ -9,6 +9,7 @@ Compiling files:
|
|||||||
src/bar/a.kt
|
src/bar/a.kt
|
||||||
End of files
|
End of files
|
||||||
Marked as dirty by Kotlin:
|
Marked as dirty by Kotlin:
|
||||||
|
src/useClass.kt
|
||||||
src/useFun.kt
|
src/useFun.kt
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class A {
|
||||||
|
companion object {
|
||||||
|
val bar = 1
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class A {
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class A {
|
||||||
|
companion object {
|
||||||
|
val bar = 1
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
------------------------------------------
|
||||||
+41
@@ -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
|
||||||
|
------------------------------------------
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useA() {
|
||||||
|
A()
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAbar() {
|
||||||
|
A.bar
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAfoo() {
|
||||||
|
A.foo()
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class A {
|
||||||
|
companion object {
|
||||||
|
val bar = 1
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class A {
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class A {
|
||||||
|
companion object {
|
||||||
|
val bar = 1
|
||||||
|
fun foo() {}
|
||||||
|
}
|
||||||
|
}
|
||||||
+53
@@ -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
|
||||||
|
------------------------------------------
|
||||||
+57
@@ -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
|
||||||
|
------------------------------------------
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun getACompanion() = A.Companion
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun getACompanionShort() = A
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
package other
|
||||||
|
|
||||||
|
fun f() {}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useACompanionImplicitly() {
|
||||||
|
getACompanion()
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useACompanionShortImplicitly() {
|
||||||
|
getACompanionShort()
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package use
|
||||||
|
|
||||||
|
import foo.*
|
||||||
|
|
||||||
|
fun useAbarWithImplicitReceiver() {
|
||||||
|
getACompanionShort().bar
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user