From 03e558a741cc355e59bab9b4a7051b3a2ee0528f Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 21 Oct 2014 17:34:58 +0400 Subject: [PATCH] Minor. More correct constants processing. If class without constants is added, it doesn't mean directly that others should be recompiled. Anyway, this mistake didn't lead to any bug: proto change would be detected anyway. Original commit: 4cf7b9e20c0376b40115d730fe1d15ea8cc3ff22 --- .../jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt b/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt index cab43bc9fb0..ee69debef4f 100644 --- a/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt +++ b/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt @@ -251,7 +251,7 @@ public class IncrementalCacheImpl(val baseDir: File): StorageOwner, IncrementalC ConstantsMapExternalizer ) - private fun getConstantsMap(bytes: ByteArray): Map { + private fun getConstantsMap(bytes: ByteArray): Map? { val result = HashMap() ClassReader(bytes).accept(object : ClassVisitor(Opcodes.ASM5) { @@ -264,14 +264,14 @@ public class IncrementalCacheImpl(val baseDir: File): StorageOwner, IncrementalC } }, ClassReader.SKIP_CODE or ClassReader.SKIP_DEBUG or ClassReader.SKIP_FRAMES) - return result + return if (result.isEmpty()) null else result } public fun process(className: JvmClassName, bytes: ByteArray): Boolean { return put(className, getConstantsMap(bytes)) } - private fun put(className: JvmClassName, constantsMap: Map): Boolean { + private fun put(className: JvmClassName, constantsMap: Map?): Boolean { val key = className.getInternalName() val oldMap = map[key]