From 80a7c64369b2f1b4eecd43092e41f6e104b26622 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 25 Sep 2014 17:42:17 +0400 Subject: [PATCH] Prepend zeros to package part hash code --- .../jet/lang/resolve/kotlin/PackagePartClassUtils.java | 8 ++++++-- .../jetbrains/jet/jps/build/AbstractIncrementalJpsTest.kt | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/PackagePartClassUtils.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/PackagePartClassUtils.java index f462fceb185..c275011e2bf 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/PackagePartClassUtils.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/PackagePartClassUtils.java @@ -56,8 +56,12 @@ public class PackagePartClassUtils { String fileName = FileUtil.getNameWithoutExtension(PathUtil.getFileName(file.getName())); // path hashCode to prevent same name / different path collision - String srcName = facadeFqName.shortName().asString() + "$" + replaceSpecialSymbols(fileName) + "$" + Integer.toHexString( - getPathHashCode(file)); + String srcName = String.format( + "%s$%s$%08x", + facadeFqName.shortName().asString(), + replaceSpecialSymbols(fileName), + getPathHashCode(file) + ); return facadeFqName.parent().child(Name.identifier(srcName)); } diff --git a/jps-plugin/test/org/jetbrains/jet/jps/build/AbstractIncrementalJpsTest.kt b/jps-plugin/test/org/jetbrains/jet/jps/build/AbstractIncrementalJpsTest.kt index ca1063ee4cc..627faaad056 100644 --- a/jps-plugin/test/org/jetbrains/jet/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps-plugin/test/org/jetbrains/jet/jps/build/AbstractIncrementalJpsTest.kt @@ -252,8 +252,8 @@ public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() { } class object { - // We suspect sequences of several consecutive hexadecimal digits to be a package part hash code - val STRIP_PACKAGE_PART_HASH_PATTERN = Pattern.compile("\\$([0-9a-f]{5,8})") + // We suspect sequences of eight consecutive hexadecimal digits to be a package part hash code + val STRIP_PACKAGE_PART_HASH_PATTERN = Pattern.compile("\\$([0-9a-f]{8})") } }