From ea60c7b743f77a93eae63b555a1098cffcba93e6 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Tue, 1 Oct 2019 19:58:27 +0300 Subject: [PATCH] inline generics in DefaultHighlightVisitor#cloneTemplates GitOrigin-RevId: 569aa9ab11e104a15cf2653143d0d663ebea70db --- .../daemon/impl/DefaultHighlightVisitor.java | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightVisitor.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightVisitor.java index 56e664de146c..dd0da07f971e 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightVisitor.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/DefaultHighlightVisitor.java @@ -9,7 +9,6 @@ import com.intellij.lang.LanguageAnnotators; import com.intellij.lang.LanguageUtil; import com.intellij.lang.annotation.Annotation; import com.intellij.lang.annotation.Annotator; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.DumbService; @@ -23,9 +22,7 @@ import com.intellij.psi.PsiFile; import com.intellij.util.ReflectionUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.FactoryMap; -import com.intellij.util.pico.CachingConstructorInjectionComponentAdapter; import org.jetbrains.annotations.NotNull; -import org.picocontainer.PicoContainer; import java.util.ArrayList; import java.util.Collection; @@ -183,22 +180,11 @@ final class DefaultHighlightVisitor implements HighlightVisitor, DumbAware { return builder.create(); } - @SuppressWarnings("unchecked") @NotNull - private static List cloneTemplates(@NotNull Collection templates) { - List result = new ArrayList<>(templates.size()); - PicoContainer container = ApplicationManager.getApplication().getPicoContainer(); - for (V template : templates) { - Class aClass = (Class)template.getClass(); - V clone; - // todo in general CachingConstructorInjectionComponentAdapter should be not used at all, but for now disable it only for known cases - if (Annotator.class.isAssignableFrom(aClass)) { - clone = ReflectionUtil.newInstance(aClass); - } - else { - clone = (V)new CachingConstructorInjectionComponentAdapter(aClass.getName(), aClass, null, true).getComponentInstance(container); - } - result.add(clone); + private static List cloneTemplates(@NotNull Collection templates) { + List result = new ArrayList<>(templates.size()); + for (Annotator template : templates) { + result.add(ReflectionUtil.newInstance(template.getClass())); } return result; }