Refactoring: SuppressionManager -> KotlinSuppressCache

This commit is contained in:
Nikolay Krasko
2015-12-17 14:44:53 +03:00
parent b61b4e1c90
commit ef265e23f8
2 changed files with 7 additions and 9 deletions
@@ -30,14 +30,14 @@ import java.util.Collection;
import java.util.Iterator;
public class DiagnosticsWithSuppression implements Diagnostics {
private final BindingContextSuppressionManager suppressionManager;
private final KotlinSuppressCache kotlinSuppressCache;
private final Collection<Diagnostic> diagnostics;
private final DiagnosticsElementsCache elementsCache;
public DiagnosticsWithSuppression(@NotNull BindingContext context, @NotNull Collection<Diagnostic> diagnostics) {
this.diagnostics = diagnostics;
this.suppressionManager = new BindingContextSuppressionManager(context);
this.elementsCache = new DiagnosticsElementsCache(this, suppressionManager.getFilter());
this.kotlinSuppressCache = new BindingContextSuppressCache(context);
this.elementsCache = new DiagnosticsElementsCache(this, kotlinSuppressCache.getFilter());
}
@NotNull
@@ -52,7 +52,7 @@ public class DiagnosticsWithSuppression implements Diagnostics {
return new FilteringIterator<Diagnostic, Diagnostic>(diagnostics.iterator(), new Condition<Diagnostic>() {
@Override
public boolean value(Diagnostic diagnostic) {
return suppressionManager.getFilter().invoke(diagnostic);
return kotlinSuppressCache.getFilter().invoke(diagnostic);
}
});
}
@@ -60,7 +60,7 @@ public class DiagnosticsWithSuppression implements Diagnostics {
@NotNull
@Override
public Collection<Diagnostic> all() {
return CollectionsKt.filter(diagnostics, suppressionManager.getFilter());
return CollectionsKt.filter(diagnostics, kotlinSuppressCache.getFilter());
}
@NotNull
@@ -19,13 +19,11 @@ package org.jetbrains.kotlin.resolve.diagnostics
import com.google.common.collect.ImmutableSet
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.util.TextRange
import com.intellij.psi.PsiElement
import com.intellij.util.containers.ConcurrentWeakValueHashMap
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
import org.jetbrains.kotlin.diagnostics.Severity
import org.jetbrains.kotlin.psi.KtAnnotated
import org.jetbrains.kotlin.psi.KtFile
@@ -52,7 +50,7 @@ interface DiagnosticSuppressor {
}
}
abstract class SuppressionManager {
abstract class KotlinSuppressCache {
private val LOG = Logger.getInstance(DiagnosticsWithSuppression::class.java)
private val ADDITIONAL_SUPPRESS_STRING_PROVIDERS = ExtensionProvider.create(SuppressStringProvider.EP_NAME)
@@ -259,7 +257,7 @@ abstract class SuppressionManager {
}
}
class BindingContextSuppressionManager(val context: BindingContext) : SuppressionManager() {
class BindingContextSuppressCache(val context: BindingContext) : KotlinSuppressCache() {
override fun getSuppressionAnnotations(annotated: KtAnnotated): List<AnnotationDescriptor> {
val descriptor = context.get(BindingContext.DECLARATION_TO_DESCRIPTOR, annotated)