diff --git a/.idea/artifacts/KotlinPlugin.xml b/.idea/artifacts/KotlinPlugin.xml
index 6ac1e70177d..9d9f0fe34ac 100644
--- a/.idea/artifacts/KotlinPlugin.xml
+++ b/.idea/artifacts/KotlinPlugin.xml
@@ -44,14 +44,7 @@
-
-
-
-
-
-
-
diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml
index 8d90433b36f..865c45a602f 100644
--- a/idea/src/META-INF/plugin.xml
+++ b/idea/src/META-INF/plugin.xml
@@ -168,7 +168,7 @@
-
+
diff --git a/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt b/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt
index 9d5c2310fb1..60868dbe1f8 100644
--- a/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt
+++ b/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt
@@ -36,11 +36,10 @@ import org.jetbrains.jet.lang.resolve.java.JvmClassName
import java.util.HashSet
import org.jetbrains.jet.lang.resolve.kotlin.incremental.IncrementalCache
import java.util.HashMap
-import com.google.common.collect.Maps
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils
import com.intellij.util.containers.MultiMap
import com.intellij.openapi.util.io.FileUtil
-import com.google.common.hash.Hashing
+import java.security.MessageDigest
val INLINE_ANNOTATION_DESC = "Lkotlin/inline;"
@@ -251,7 +250,7 @@ public class IncrementalCacheImpl(val baseDir: File): IncrementalCache {
override fun read(`in`: DataInput): Map? {
val size = `in`.readInt()
- val map = Maps.newHashMapWithExpectedSize(size)!!
+ val map = HashMap(size)
for (i in size.indices) {
val name = IOUtil.readString(`in`)!!
@@ -301,7 +300,7 @@ public class IncrementalCacheImpl(val baseDir: File): IncrementalCache {
override fun visitEnd() {
if (hasInlineAnnotation) {
val dummyBytes = dummyClassWriter.toByteArray()!!
- val hash = Hashing.md5()!!.hashBytes(dummyBytes)!!.asLong()
+ val hash = dummyBytes.md5()
result[name + desc] = hash
}
@@ -343,7 +342,7 @@ public class IncrementalCacheImpl(val baseDir: File): IncrementalCache {
override fun read(`in`: DataInput): Map? {
val size = `in`.readInt()
- val map = Maps.newHashMapWithExpectedSize(size)!!
+ val map = HashMap(size)
for (i in size.indices) {
val name = IOUtil.readString(`in`)!!
@@ -438,6 +437,19 @@ public class IncrementalCacheImpl(val baseDir: File): IncrementalCache {
}
}
+private fun ByteArray.md5(): Long {
+ val d = MessageDigest.getInstance("MD5").digest(this)!!
+ return ((d[0].toLong() and 0xFFL)
+ or ((d[1].toLong() and 0xFFL) shl 8)
+ or ((d[2].toLong() and 0xFFL) shl 16)
+ or ((d[3].toLong() and 0xFFL) shl 24)
+ or ((d[4].toLong() and 0xFFL) shl 32)
+ or ((d[5].toLong() and 0xFFL) shl 40)
+ or ((d[6].toLong() and 0xFFL) shl 48)
+ or ((d[7].toLong() and 0xFFL) shl 56)
+ )
+}
+
private object ByteArrayExternalizer: DataExternalizer {
override fun save(out: DataOutput, value: ByteArray?) {
out.writeInt(value!!.size)