PsiCachedValue: improve readability

This commit is contained in:
peter
2018-10-10 06:44:56 +02:00
parent 2095ffaa11
commit f33d3ddd9a
@@ -18,7 +18,6 @@ package com.intellij.psi.impl;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ProjectRootModificationTracker;
import com.intellij.openapi.util.Condition;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
@@ -46,12 +45,17 @@ public abstract class PsiCachedValue<T> extends CachedValueBase<T> {
}
private static boolean hasOnlyPhysicalPsiDependencies(@Nullable Object[] dependencies) {
return dependencies != null && dependencies.length > 0 && ContainerUtil.and(dependencies, o -> o instanceof PsiElement && ((PsiElement)o).isValid() && ((PsiElement)o).isPhysical() ||
o instanceof ProjectRootModificationTracker ||
o instanceof PsiModificationTracker ||
return dependencies != null && dependencies.length > 0 &&
ContainerUtil.and(dependencies, PsiCachedValue::anyChangeImpliesPsiCounterChange);
}
private static boolean anyChangeImpliesPsiCounterChange(Object o) {
return o instanceof PsiElement && ((PsiElement)o).isValid() && ((PsiElement)o).isPhysical() ||
o instanceof ProjectRootModificationTracker ||
o instanceof PsiModificationTracker ||
o == PsiModificationTracker.MODIFICATION_COUNT ||
o == PsiModificationTracker.OUT_OF_CODE_BLOCK_MODIFICATION_COUNT ||
o == PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT);
o == PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT;
}
@Nullable