Use '$' instead of '-' in package part class names

Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.

Some tests fixed, some will be fixed in future commits

Original commit: c57441b51b
This commit is contained in:
Alexander Udalov
2014-09-22 11:43:30 +04:00
parent 3a7dcd4c80
commit 9c8ee4eae6
39 changed files with 75 additions and 73 deletions
@@ -413,7 +413,7 @@ public class IncrementalCacheImpl(val baseDir: File): StorageOwner, IncrementalC
result.add(packagePartClassName)
}
else {
val previousPackageFqName = JvmClassName.byInternalName(packagePartClassName).getFqNameForClassNameWithoutDollars().parent()
val previousPackageFqName = JvmClassName.byInternalName(packagePartClassName).getPackageFqName()
val currentPackageFqName = compiledSourceFilesToFqName[sourceFile]
if (currentPackageFqName != null && currentPackageFqName != previousPackageFqName.asString()) {
result.add(packagePartClassName)
@@ -432,7 +432,7 @@ public class IncrementalCacheImpl(val baseDir: File): StorageOwner, IncrementalC
map.processKeysWithExistingMapping { key ->
val packagePartClassName = map[key!!]!!
val packageFqName = JvmClassName.byInternalName(packagePartClassName).getFqNameForClassNameWithoutDollars().parent()
val packageFqName = JvmClassName.byInternalName(packagePartClassName).getPackageFqName()
result.add(packageFqName)
@@ -241,9 +241,11 @@ public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() {
override fun logLine(message: String?) {
fun String.replaceHashWithStar(): String {
val lastHyphen = this.lastIndexOf('-')
if (lastHyphen != -1 && substring(lastHyphen + 1).matches("[0-9a-f]{1,8}\\.class")) {
return substring(0, lastHyphen) + "-*.class"
if (this contains "Package$") {
val lastDollar = this.lastIndexOf('$')
if (lastDollar != -1 && substring(lastDollar + 1).matches("[0-9a-f]{1,8}\\.class")) {
return substring(0, lastDollar) + "$*.class"
}
}
return this
}
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module2/b/BPackage-module2_b-*.class
out/production/module2/b/BPackage$module2_b$*.class
out/production/module2/b/BPackage.class
End of files
Compiling files:
@@ -7,9 +7,9 @@ module2/src/module2_b.kt
End of files
Cleaning output files:
out/production/module1/a/A.class
out/production/module1/a/APackage-module1_a-*.class
out/production/module1/a/APackage$module1_a$*.class
out/production/module1/a/APackage.class
End of files
Compiling files:
module1/src/module1_a.kt
End of files
End of files
@@ -1,6 +1,6 @@
Cleaning output files:
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage-usage-*.class
out/production/module/test/TestPackage$b$*.class
out/production/module/test/TestPackage$usage$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,6 +1,6 @@
Cleaning output files:
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage-usage-*.class
Cleaning output files:
out/production/module/test/TestPackage$b$*.class
out/production/module/test/TestPackage$usage$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-const-*.class
out/production/module/test/TestPackage$const$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -8,7 +8,7 @@ End of files
Cleaning output files:
out/production/module/test/TestPackage-const-*.class
out/production/module/test/TestPackage$const$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-other-*.class
out/production/module/test/TestPackage$other$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -6,7 +6,7 @@ src/inline.kt
End of files
Cleaning output files:
out/production/module/inline/Klass.class
out/production/module/usage/UsagePackage-usage-*.class
out/production/module/usage/UsagePackage$usage$*.class
out/production/module/usage/UsagePackage.class
End of files
Compiling files:
@@ -9,9 +9,9 @@ Compiling files:
src/A.kt
End of files
Cleaning output files:
out/production/module/test/TestPackage-other-*.class
out/production/module/test/TestPackage$other$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
src/other.kt
End of files
End of files
@@ -5,9 +5,9 @@ Compiling files:
src/class.kt
End of files
Cleaning output files:
out/production/module/test/TestPackage-usage-*.class
out/production/module/test/TestPackage$usage$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
src/usage.kt
End of files
End of files
@@ -3,4 +3,4 @@ out/production/module/test/Klass.class
End of files
Compiling files:
src/class.kt
End of files
End of files
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/_DefaultPackage-usage-*.class
out/production/module/_DefaultPackage$usage$*.class
out/production/module/_DefaultPackage.class
End of files
Compiling files:
@@ -1,7 +1,7 @@
Cleaning output files:
out/production/module/test/Klass$object.class
out/production/module/test/Klass.class
out/production/module/test/TestPackage-const-*.class
out/production/module/test/TestPackage$const$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/_DefaultPackage-a-*.class
out/production/module/_DefaultPackage$a$*.class
out/production/module/_DefaultPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,7 +1,7 @@
Cleaning output files:
out/production/module/bar/BarPackage-c-*.class
out/production/module/bar/BarPackage$c$*.class
out/production/module/bar/BarPackage.class
out/production/module/foo/FooPackage-b-*.class
out/production/module/foo/FooPackage$b$*.class
out/production/module/foo/FooPackage.class
End of files
Compiling files:
@@ -9,7 +9,7 @@ src/b.kt
src/c.kt
End of files
Cleaning output files:
out/production/module/foo/FooPackage-a-*.class
out/production/module/foo/FooPackage$a$*.class
out/production/module/foo/FooPackage.class
End of files
Compiling files:
@@ -3,4 +3,4 @@ out/production/module/test/Foo.class
End of files
Compiling files:
src/Foo.kt
End of files
End of files
@@ -1,13 +1,13 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
src/a.kt
End of files
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage$b$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/inline/InlinePackage-inline-*.class
out/production/module/inline/InlinePackage$inline$*.class
out/production/module/inline/InlinePackage.class
out/production/module/inline/Klass.class
End of files
@@ -1,14 +1,14 @@
Cleaning output files:
out/production/module/b/BPackage-b2-*.class
out/production/module/b/BPackage$b2$*.class
out/production/module/b/BPackage.class
End of files
Compiling files:
src/a2.kt
End of files
Cleaning output files:
out/production/module/a/APackage-a1-*.class
out/production/module/a/APackage$a1$*.class
out/production/module/a/APackage.class
out/production/module/b/BPackage-b1-*.class
out/production/module/b/BPackage$b1$*.class
out/production/module/b/BPackage.class
End of files
Compiling files:
@@ -3,4 +3,4 @@ out/production/module/test/Object.class
End of files
Compiling files:
src/const.kt
End of files
End of files
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -9,7 +9,7 @@ End of files
Cleaning output files:
out/production/module/klass/Klass.class
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-const-*.class
out/production/module/test/TestPackage$const$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -2,7 +2,7 @@ Compiling files:
src/b.kt
End of files
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,12 +1,12 @@
Cleaning output files:
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage$b$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
src/b.kt
End of files
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -8,13 +8,13 @@ End of files
Cleaning output files:
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage$b$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
End of files
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,13 +1,13 @@
Cleaning output files:
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage$b$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
End of files
Cleaning output files:
out/production/module/other/OtherPackage-other-*.class
out/production/module/other/OtherPackage$other$*.class
out/production/module/other/OtherPackage.class
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -17,7 +17,7 @@ End of files
Cleaning output files:
out/production/module/other/OtherPackage-other-*.class
out/production/module/other/OtherPackage$other$*.class
out/production/module/other/OtherPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -8,7 +8,7 @@ End of files
Cleaning output files:
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage$b$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-usage-*.class
out/production/module/test/TestPackage$usage$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,17 +1,17 @@
Cleaning output files:
out/production/module/inline/InlinePackage-inline-*.class
out/production/module/inline/InlinePackage$inline$*.class
out/production/module/inline/InlinePackage.class
End of files
Compiling files:
src/inline.kt
End of files
Cleaning output files:
out/production/module/inline/InlinePackage-inline-*.class
out/production/module/inline/InlinePackage$inline$*.class
out/production/module/inline/InlinePackage.class
out/production/module/usage/UsagePackage-usage-*.class
out/production/module/usage/UsagePackage$usage$*.class
out/production/module/usage/UsagePackage.class
End of files
Compiling files:
src/inline.kt
src/usage.kt
End of files
End of files
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-usage-*.class
out/production/module/test/TestPackage$usage$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -11,7 +11,7 @@ Compiling files:
src/b.kt
End of files
Cleaning output files:
out/production/module/test2/Test2Package-a-*.class
out/production/module/test2/Test2Package$a$*.class
out/production/module/test2/Test2Package.class
End of files
Compiling files:
@@ -1,9 +1,9 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Cleaning output files:
out/production/module/test/TestPackage-b-*.class
out/production/module/test/TestPackage$b$*.class
End of files
Compiling files:
End of files
End of files
@@ -1,12 +1,12 @@
Cleaning output files:
out/production/module/test/TestPackage-fun-*.class
out/production/module/test/TestPackage$fun$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
src/fun.kt
End of files
Cleaning output files:
out/production/module/test/TestPackage-usage-*.class
out/production/module/test/TestPackage$usage$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -4,4 +4,4 @@ out/production/module/test/Foo.class
End of files
Compiling files:
src/Foo.kt
End of files
End of files
@@ -1,7 +1,7 @@
Cleaning output files:
out/production/module/foo/FooPackage-a-*.class
out/production/module/foo/FooPackage$a$*.class
out/production/module/foo/FooPackage.class
End of files
Compiling files:
src/a.kt
End of files
End of files
@@ -1,5 +1,5 @@
Cleaning output files:
out/production/module/test/TestPackage-fun-*.class
out/production/module/test/TestPackage$fun$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
@@ -1,7 +1,7 @@
Cleaning output files:
out/production/module/test/TestPackage-a-*.class
out/production/module/test/TestPackage$a$*.class
out/production/module/test/TestPackage.class
End of files
Compiling files:
src/a.kt
End of files
End of files