Support type aliases in incremental compilation

#KT-12871 Fixed

Original commit: efe718602a
This commit is contained in:
Denis Zharkov
2016-06-28 13:00:35 +03:00
parent fc54e12f27
commit 993493dcc4
26 changed files with 335 additions and 0 deletions
@@ -205,6 +205,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
doTest(fileName);
}
@TestMetadata("addMemberTypeAlias")
public void testAddMemberTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addMemberTypeAlias/");
doTest(fileName);
}
@TestMetadata("addTopLevelTypeAlias")
public void testAddTopLevelTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addTopLevelTypeAlias/");
doTest(fileName);
}
@TestMetadata("allConstants")
public void testAllConstants() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/");
@@ -839,6 +851,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
doTest(fileName);
}
@TestMetadata("removeMemberTypeAlias")
public void testRemoveMemberTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeMemberTypeAlias/");
doTest(fileName);
}
@TestMetadata("removeTopLevelTypeAlias")
public void testRemoveTopLevelTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeTopLevelTypeAlias/");
doTest(fileName);
}
@TestMetadata("renameClass")
public void testRenameClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/renameClass/");
@@ -205,6 +205,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
doTest(fileName);
}
@TestMetadata("addMemberTypeAlias")
public void testAddMemberTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addMemberTypeAlias/");
doTest(fileName);
}
@TestMetadata("addTopLevelTypeAlias")
public void testAddTopLevelTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/addTopLevelTypeAlias/");
doTest(fileName);
}
@TestMetadata("allConstants")
public void testAllConstants() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/allConstants/");
@@ -839,6 +851,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
doTest(fileName);
}
@TestMetadata("removeMemberTypeAlias")
public void testRemoveMemberTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeMemberTypeAlias/");
doTest(fileName);
}
@TestMetadata("removeTopLevelTypeAlias")
public void testRemoveTopLevelTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/removeTopLevelTypeAlias/");
doTest(fileName);
}
@TestMetadata("renameClass")
public void testRenameClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/renameClass/");
@@ -0,0 +1,8 @@
package a
class Outer {
inner class B(x: String)
fun A1(x: Any) = x
fun A2(x: Any) = x
}
@@ -0,0 +1,11 @@
package a
class Outer {
inner class B(x: String)
typealias A1 = B
private typealias A2 = B
fun A1(x: Any) = x
fun A2(x: Any) = x
}
@@ -0,0 +1,5 @@
package usage
fun bar() {
a.Outer().A1("")
}
@@ -0,0 +1,5 @@
package usage
fun baz() {
a.Outer().A2("")
}
@@ -0,0 +1,22 @@
================ Step #1 =================
Cleaning output files:
out/production/module/a/Outer$B.class
out/production/module/a/Outer.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/usage/A1UsageKt.class
out/production/module/usage/A2UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
src/a2Usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,22 @@
================ Step #1 =================
Cleaning output files:
out/production/module/a/Outer$B.class
out/production/module/a/Outer.class
End of files
Compiling files:
src/a.kt
End of files
Marked as dirty by Kotlin:
src/a1Usage.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/usage/A1UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,6 @@
package a
class B(x: String)
fun A1(x: Any) = x
fun A2(x: Any) = x
@@ -0,0 +1,8 @@
package a
class B(x: String)
typealias A1 = B
private typealias A2 = B
fun A1(x: Any) = x
fun A2(x: Any) = x
@@ -0,0 +1,5 @@
package usage
fun bar() {
a.A1("")
}
@@ -0,0 +1,5 @@
package usage
fun baz() {
a.A2("")
}
@@ -0,0 +1,23 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/a/AKt.class
out/production/module/a/B.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/usage/A1UsageKt.class
out/production/module/usage/A2UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
src/a2Usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,23 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/a/AKt.class
out/production/module/a/B.class
End of files
Compiling files:
src/a.kt
End of files
Marked as dirty by Kotlin:
src/a1Usage.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/usage/A1UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,11 @@
package a
class Outer {
inner class B(x: String)
typealias A1 = B
private typealias A2 = B
fun A1(x: Any) = x
fun A2(x: Any) = x
}
@@ -0,0 +1,8 @@
package a
class Outer {
inner class B(x: String)
fun A1(x: Any) = x
fun A2(x: Any) = x
}
@@ -0,0 +1,5 @@
package usage
fun bar() {
a.Outer().A1("")
}
@@ -0,0 +1,5 @@
package usage
fun baz() {
a.Outer().A2("")
}
@@ -0,0 +1,22 @@
================ Step #1 =================
Cleaning output files:
out/production/module/a/Outer$B.class
out/production/module/a/Outer.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/usage/A1UsageKt.class
out/production/module/usage/A2UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
src/a2Usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,22 @@
================ Step #1 =================
Cleaning output files:
out/production/module/a/Outer$B.class
out/production/module/a/Outer.class
End of files
Compiling files:
src/a.kt
End of files
Marked as dirty by Kotlin:
src/a1Usage.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/usage/A1UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,9 @@
package a
class B(x: String)
typealias A1 = B
private typealias A2 = B
fun A1(x: Any) = x
fun A2(x: Any) = x
@@ -0,0 +1,6 @@
package a
class B(x: String)
fun A1(x: Any) = x
fun A2(x: Any) = x
@@ -0,0 +1,5 @@
package usage
fun bar() {
a.A1("")
}
@@ -0,0 +1,5 @@
package usage
fun baz() {
a.A2("")
}
@@ -0,0 +1,23 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/a/AKt.class
out/production/module/a/B.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/usage/A1UsageKt.class
out/production/module/usage/A2UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
src/a2Usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,23 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/a/AKt.class
out/production/module/a/B.class
End of files
Compiling files:
src/a.kt
End of files
Marked as dirty by Kotlin:
src/a1Usage.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/usage/A1UsageKt.class
End of files
Compiling files:
src/a1Usage.kt
End of files
Exit code: OK
------------------------------------------