From 37c861100d8209fbd03edd4538255102b739f97e Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 22 Sep 2015 15:30:23 +0300 Subject: [PATCH] Create map so it will always be added to maps Original commit: 5c9b962567a688fcc901da0449e575f645c5d5ce --- .../jps/incremental/IncrementalCacheImpl.kt | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt index c36cdebf21b..ff27b3ea592 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt @@ -107,39 +107,40 @@ public class IncrementalCacheImpl( private val target: ModuleBuildTarget ) : StorageOwner, IncrementalCache { companion object { - val PROTO_MAP = "proto.tab" - val CONSTANTS_MAP = "constants.tab" - val INLINE_FUNCTIONS = "inline-functions.tab" - val PACKAGE_PARTS = "package-parts.tab" - val SOURCE_TO_CLASSES = "source-to-classes.tab" - val DIRTY_OUTPUT_CLASSES = "dirty-output-classes.tab" - val DIRTY_INLINE_FUNCTIONS = "dirty-inline-functions.tab" - val INLINED_TO = "inlined-to.tab" + val CACHE_EXTENSION = "tab" + + private val PROTO_MAP = "proto" + private val CONSTANTS_MAP = "constants" + private val INLINE_FUNCTIONS = "inline-functions" + private val PACKAGE_PARTS = "package-parts" + private val SOURCE_TO_CLASSES = "source-to-classes" + private val DIRTY_OUTPUT_CLASSES = "dirty-output-classes" + private val DIRTY_INLINE_FUNCTIONS = "dirty-inline-functions" + private val INLINED_TO = "inlined-to" private val MODULE_MAPPING_FILE_NAME = "." + ModuleMapping.MAPPING_FILE_EXT } private val baseDir = File(targetDataRoot, CACHE_DIRECTORY_NAME) + private val maps = arrayListOf>() private val String.storageFile: File - get() = File(baseDir, this) + get() = File(baseDir, this + "." + CACHE_EXTENSION) - private val protoMap = ProtoMap(PROTO_MAP.storageFile) - private val constantsMap = ConstantsMap(CONSTANTS_MAP.storageFile) - private val inlineFunctionsMap = InlineFunctionsMap(INLINE_FUNCTIONS.storageFile) - private val packagePartMap = PackagePartMap(PACKAGE_PARTS.storageFile) - private val sourceToClassesMap = SourceToClassesMap(SOURCE_TO_CLASSES.storageFile) - private val dirtyOutputClassesMap = DirtyOutputClassesMap(DIRTY_OUTPUT_CLASSES.storageFile) - private val dirtyInlineFunctionsMap = DirtyInlineFunctionsMap(DIRTY_INLINE_FUNCTIONS.storageFile) - private val inlinedTo = InlineFunctionsFilesMap(INLINED_TO.storageFile) + private fun > registerMap(map: M): M { + maps.add(map) + return map + } - private val maps = listOf(protoMap, - constantsMap, - inlineFunctionsMap, - packagePartMap, - sourceToClassesMap, - dirtyOutputClassesMap, - inlinedTo) + private val protoMap = registerMap(ProtoMap(PROTO_MAP.storageFile)) + private val constantsMap = registerMap(ConstantsMap(CONSTANTS_MAP.storageFile)) + private val inlineFunctionsMap = registerMap(InlineFunctionsMap(INLINE_FUNCTIONS.storageFile)) + private val packagePartMap = registerMap(PackagePartMap(PACKAGE_PARTS.storageFile)) + private val sourceToClassesMap = registerMap(SourceToClassesMap(SOURCE_TO_CLASSES.storageFile)) + private val dirtyOutputClassesMap = registerMap(DirtyOutputClassesMap(DIRTY_OUTPUT_CLASSES.storageFile)) + // TODO: can be removed? + private val dirtyInlineFunctionsMap = registerMap(DirtyInlineFunctionsMap(DIRTY_INLINE_FUNCTIONS.storageFile)) + private val inlinedTo = registerMap(InlineFunctionsFilesMap(INLINED_TO.storageFile)) private val cacheFormatVersion = CacheFormatVersion(targetDataRoot) private val dependents = arrayListOf()