Refactoring: do not check if IC is enabled in cache

There was a bunch of if-else blocks checking if new IC was enabled or not.
These blocks became useless after `IncrementalCompilation.isExperimental`
was replaced with `IncrementalCompilation.isEnabled`, because when IC is not enabled
we don't use caches anyway.
This commit is contained in:
Alexey Tsvetkov
2017-05-02 13:18:30 +03:00
parent 3f471d1ac6
commit 7cccba3b9a
@@ -24,7 +24,6 @@ import com.intellij.util.io.EnumeratorStringDescriptor
import gnu.trove.THashSet import gnu.trove.THashSet
import org.jetbrains.annotations.TestOnly import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.build.GeneratedJvmClass import org.jetbrains.kotlin.build.GeneratedJvmClass
import org.jetbrains.kotlin.config.IncrementalCompilation
import org.jetbrains.kotlin.incremental.ChangeInfo.MembersChanged import org.jetbrains.kotlin.incremental.ChangeInfo.MembersChanged
import org.jetbrains.kotlin.incremental.ChangeInfo.Removed import org.jetbrains.kotlin.incremental.ChangeInfo.Removed
import org.jetbrains.kotlin.incremental.storage.* import org.jetbrains.kotlin.incremental.storage.*
@@ -156,9 +155,7 @@ open class IncrementalCacheImpl<Target>(
sourceToClassesMap.add(it, className) sourceToClassesMap.add(it, className)
} }
if (IncrementalCompilation.isEnabled()) { internalNameToSource[className.internalName] = sourceFiles
internalNameToSource[className.internalName] = sourceFiles
}
if (kotlinClass.classId.isLocal) { if (kotlinClass.classId.isLocal) {
return CompilationResult.NO_CHANGES return CompilationResult.NO_CHANGES
@@ -280,12 +277,7 @@ open class IncrementalCacheImpl<Target>(
.map(JvmClassName::byInternalName) .map(JvmClassName::byInternalName)
.toList() .toList()
val changes = val changes = dirtyClasses.flatMap { computeChanges(it, ::Removed) }.asSequence()
if (IncrementalCompilation.isEnabled())
dirtyClasses.flatMap { computeChanges(it, ::Removed) }.asSequence()
else
emptySequence<ChangeInfo>()
val changesInfo = CompilationResult(changes = changes) val changesInfo = CompilationResult(changes = changes)
val facadesWithRemovedParts = hashMapOf<JvmClassName, MutableSet<String>>() val facadesWithRemovedParts = hashMapOf<JvmClassName, MutableSet<String>>()
@@ -400,12 +392,7 @@ open class IncrementalCacheImpl<Target>(
} }
if (oldData == null) { if (oldData == null) {
val changes = val changes = computeChanges(className, ::MembersChanged).asSequence()
if (IncrementalCompilation.isEnabled())
computeChanges(className, ::MembersChanged).asSequence()
else
emptySequence<ChangeInfo>()
return CompilationResult(changes = changes) return CompilationResult(changes = changes)
} }
@@ -477,8 +464,7 @@ open class IncrementalCacheImpl<Target>(
} }
val changes = val changes =
if (!IncrementalCompilation.isEnabled() || if (constantsMap == null || constantsMap.isEmpty() ||
constantsMap == null || constantsMap.isEmpty() ||
oldMap == null || oldMap.isEmpty() oldMap == null || oldMap.isEmpty()
) { ) {
emptySequence<ChangeInfo>() emptySequence<ChangeInfo>()
@@ -602,8 +588,6 @@ open class IncrementalCacheImpl<Target>(
} }
private fun addToClassStorage(kotlinClass: LocalFileKotlinClass, srcFile: File) { private fun addToClassStorage(kotlinClass: LocalFileKotlinClass, srcFile: File) {
if (!IncrementalCompilation.isEnabled()) return
val classData = JvmProtoBufUtil.readClassDataFrom(kotlinClass.classHeader.data!!, kotlinClass.classHeader.strings!!) val classData = JvmProtoBufUtil.readClassDataFrom(kotlinClass.classHeader.data!!, kotlinClass.classHeader.strings!!)
val supertypes = classData.classProto.supertypes(TypeTable(classData.classProto.typeTable)) val supertypes = classData.classProto.supertypes(TypeTable(classData.classProto.typeTable))
val parents = supertypes.map { classData.nameResolver.getClassId(it.className).asSingleFqName() } val parents = supertypes.map { classData.nameResolver.getClassId(it.className).asSingleFqName() }
@@ -621,7 +605,7 @@ open class IncrementalCacheImpl<Target>(
} }
private fun removeAllFromClassStorage(removedClasses: Collection<JvmClassName>) { private fun removeAllFromClassStorage(removedClasses: Collection<JvmClassName>) {
if (!IncrementalCompilation.isEnabled() || removedClasses.isEmpty()) return if (removedClasses.isEmpty()) return
val removedFqNames = removedClasses.map { it.fqNameForClassNameWithoutDollars }.toSet() val removedFqNames = removedClasses.map { it.fqNameForClassNameWithoutDollars }.toSet()
@@ -722,16 +706,9 @@ open class IncrementalCacheImpl<Target>(
else -> storage.remove(internalName) else -> storage.remove(internalName)
} }
val changes = val fqName = if (isPackage) className.packageFqName else className.fqNameForClassNameWithoutDollars
if (IncrementalCompilation.isEnabled()) { // TODO get name in better way instead of using substringBefore
val fqName = if (isPackage) className.packageFqName else className.fqNameForClassNameWithoutDollars val changes = (added.asSequence() + changed.asSequence()).map { ChangeInfo.MembersChanged(fqName, listOf(it.substringBefore("("))) }
// TODO get name in better way instead of using substringBefore
(added.asSequence() + changed.asSequence()).map { ChangeInfo.MembersChanged(fqName, listOf(it.substringBefore("("))) }
}
else {
emptySequence<ChangeInfo>()
}
return CompilationResult(changes = changes) return CompilationResult(changes = changes)
} }