diff --git a/jps/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTest.kt b/jps/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTest.kt index b456e666d29..6b47071ae27 100644 --- a/jps/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTest.kt +++ b/jps/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTest.kt @@ -116,6 +116,10 @@ public class IncrementalJpsTest : JpsBuildTestCase() { doTest() } + fun testClassSignatureChanged() { + doTest() + } + private class MyLogger(val rootPath: String) : ProjectBuilderLoggerBase() { private val logBuf = StringBuilder() public val log: String @@ -127,7 +131,7 @@ public class IncrementalJpsTest : JpsBuildTestCase() { fun String.replaceHashWithStar(): String { val lastHyphen = this.lastIndexOf('-') - if (lastHyphen != -1 && substring(lastHyphen + 1).matches("[0-9a-f]{8}\\.class")) { + if (lastHyphen != -1 && substring(lastHyphen + 1).matches("[0-9a-f]{1,8}\\.class")) { return substring(0, lastHyphen) + "-*.class" } return this diff --git a/jps/jps-plugin/testData/incremental/classSignatureChanged/build.log b/jps/jps-plugin/testData/incremental/classSignatureChanged/build.log new file mode 100644 index 00000000000..03df388cc2b --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classSignatureChanged/build.log @@ -0,0 +1,13 @@ +Cleaning output files: +out/production/module/test/Klass.class +End of files +Compiling files: +src/class.kt +End of files +Cleaning output files: +out/production/module/test/TestPackage-usage-*.class +out/production/module/test/TestPackage.class +End of files +Compiling files: +src/usage.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/classSignatureChanged/class.kt b/jps/jps-plugin/testData/incremental/classSignatureChanged/class.kt new file mode 100644 index 00000000000..207a0d6ff20 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classSignatureChanged/class.kt @@ -0,0 +1,5 @@ +package test + +class Klass { + fun foo() = ":)" +} diff --git a/jps/jps-plugin/testData/incremental/classSignatureChanged/class.kt.new b/jps/jps-plugin/testData/incremental/classSignatureChanged/class.kt.new new file mode 100644 index 00000000000..7100d314c78 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classSignatureChanged/class.kt.new @@ -0,0 +1,5 @@ +package test + +class Klass { + fun foo() = 123 +} diff --git a/jps/jps-plugin/testData/incremental/classSignatureChanged/usage.kt b/jps/jps-plugin/testData/incremental/classSignatureChanged/usage.kt new file mode 100644 index 00000000000..316732663ce --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classSignatureChanged/usage.kt @@ -0,0 +1,5 @@ +package test + +fun usage(a: Klass) { + a.foo() +}