mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
encapsulate AnnotationSessionImpl creation to make it possible to add more info there
GitOrigin-RevId: 02b20264bcc3d4a96ca560440730235ea98c772d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
83f3ca21bc
commit
5d19cf1058
+2
-2
@@ -11,7 +11,7 @@ import com.intellij.codeInspection.ex.Tools;
|
||||
import com.intellij.compiler.options.ValidationConfiguration;
|
||||
import com.intellij.lang.ExternalLanguageAnnotators;
|
||||
import com.intellij.lang.annotation.Annotation;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.lang.annotation.ExternalAnnotator;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
import com.intellij.lang.xml.XMLLanguage;
|
||||
@@ -329,7 +329,7 @@ public class InspectionValidatorWrapper implements Validator {
|
||||
|
||||
private Map<ProblemDescriptor, HighlightDisplayLevel> runXmlFileSchemaValidation(@NotNull XmlFile xmlFile) {
|
||||
Map<ProblemDescriptor, HighlightDisplayLevel> problemsMap = new LinkedHashMap<>();
|
||||
return AnnotationSessionImpl.withSession(xmlFile, false, holder -> {
|
||||
return AnnotationSessionImpl.computeWithSession(xmlFile, false, holder -> {
|
||||
List<ExternalAnnotator<?,?>> annotators = ExternalLanguageAnnotators.allForFile(XMLLanguage.INSTANCE, xmlFile);
|
||||
for (ExternalAnnotator<?, ?> annotator : annotators) {
|
||||
processAnnotator(xmlFile, holder, annotator);
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightingLevelManager;
|
||||
import com.intellij.codeInsight.highlighting.PassRunningAssert;
|
||||
import com.intellij.codeInsight.problems.ProblemImpl;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
|
||||
+4
-3
@@ -1,7 +1,8 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.lang.annotation;
|
||||
package com.intellij.codeInsight.daemon.impl.analysis;
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.AnnotationHolderImpl;
|
||||
import com.intellij.lang.annotation.AnnotationSession;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.util.UserDataHolder;
|
||||
@@ -20,7 +21,7 @@ public class AnnotationSessionImpl extends AnnotationSession {
|
||||
private final UserDataHolder myDataHolder = new UserDataHolderBase();
|
||||
|
||||
@ApiStatus.Internal
|
||||
public AnnotationSessionImpl(@NotNull PsiFile file) {
|
||||
AnnotationSessionImpl(@NotNull PsiFile file) {
|
||||
super(file);
|
||||
}
|
||||
|
||||
@@ -47,7 +48,7 @@ public class AnnotationSessionImpl extends AnnotationSession {
|
||||
myDataHolder.putUserData(key, value);
|
||||
}
|
||||
|
||||
public static <T> T withSession(@NotNull PsiFile psiFile, boolean batchMode, @NotNull Function<? super AnnotationHolderImpl, T> runnable) {
|
||||
public static <T> T computeWithSession(@NotNull PsiFile psiFile, boolean batchMode, @NotNull Function<? super AnnotationHolderImpl, T> runnable) {
|
||||
AnnotationHolderImpl holder = new AnnotationHolderImpl(new AnnotationSessionImpl(psiFile), batchMode);
|
||||
try {
|
||||
return runnable.apply(holder);
|
||||
-1
@@ -4,7 +4,6 @@ package com.intellij.codeInsight.daemon.impl.analysis;
|
||||
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
|
||||
import com.intellij.codeInsight.daemon.impl.HighlightInfoFilter;
|
||||
import com.intellij.lang.annotation.AnnotationSession;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
import com.intellij.openapi.editor.colors.TextAttributesScheme;
|
||||
import com.intellij.openapi.project.Project;
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ package com.intellij.codeInspection;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo;
|
||||
import com.intellij.codeInsight.intention.preview.IntentionPreviewUtils;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.lang.annotation.ExternalAnnotator;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -53,7 +53,7 @@ public class ExternalAnnotatorInspectionVisitor extends PsiElementVisitor {
|
||||
if (annotationResult == null) {
|
||||
return ProblemDescriptor.EMPTY_ARRAY;
|
||||
}
|
||||
return ReadAction.compute(() -> AnnotationSessionImpl.withSession(file, true, annotationHolder -> {
|
||||
return ReadAction.compute(() -> AnnotationSessionImpl.computeWithSession(file, true, annotationHolder -> {
|
||||
annotationHolder.applyExternalAnnotatorWithContext(file, annotator, annotationResult);
|
||||
annotationHolder.assertAllAnnotationsCreated();
|
||||
return ProblemDescriptorUtil.convertToProblemDescriptors(annotationHolder, file);
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.intellij.codeInspection.ex.InspectionProfileWrapper;
|
||||
import com.intellij.diagnostic.PluginException;
|
||||
import com.intellij.lang.ExternalLanguageAnnotators;
|
||||
import com.intellij.lang.LangBundle;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.lang.annotation.ExternalAnnotator;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
@@ -141,7 +141,7 @@ public class ExternalToolPass extends ProgressableTextEditorHighlightingPass {
|
||||
}
|
||||
|
||||
long modificationStampBefore = myDocument.getModificationStamp();
|
||||
AnnotationSessionImpl.withSession(myFile, false, annotationHolder -> {
|
||||
AnnotationSessionImpl.computeWithSession(myFile, false, annotationHolder -> {
|
||||
Update update = new Update(myFile) {
|
||||
@Override
|
||||
public void setRejected() {
|
||||
|
||||
+3
-2
@@ -2,6 +2,7 @@
|
||||
package com.intellij.testFramework.fixtures;
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.*;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.editorActions.smartEnter.SmartEnterProcessor;
|
||||
import com.intellij.codeInsight.editorActions.smartEnter.SmartEnterProcessors;
|
||||
import com.intellij.codeInsight.generation.surroundWith.SurroundWithHandler;
|
||||
@@ -321,7 +322,7 @@ public final class CodeInsightTestUtil {
|
||||
@NotNull Consumer<? super Out> resultChecker) {
|
||||
Out result = annotator.doAnnotate(in);
|
||||
resultChecker.accept(result);
|
||||
return AnnotationSessionImpl.withSession(psiFile, false, annotationHolder -> {
|
||||
return AnnotationSessionImpl.computeWithSession(psiFile, false, annotationHolder -> {
|
||||
ApplicationManager.getApplication().runReadAction(() -> annotationHolder.applyExternalAnnotatorWithContext(psiFile, annotator, result));
|
||||
annotationHolder.assertAllAnnotationsCreated();
|
||||
return List.copyOf(annotationHolder);
|
||||
@@ -334,7 +335,7 @@ public final class CodeInsightTestUtil {
|
||||
@NotNull
|
||||
public static List<Annotation> testAnnotator(@NotNull Annotator annotator, @NotNull PsiElement @NotNull... elements) {
|
||||
PsiFile psiFile = elements[0].getContainingFile();
|
||||
return AnnotationSessionImpl.withSession(psiFile, false, annotationHolder -> {
|
||||
return AnnotationSessionImpl.computeWithSession(psiFile, false, annotationHolder -> {
|
||||
for (PsiElement element : elements) {
|
||||
annotationHolder.runAnnotatorWithContext(element, annotator);
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ package org.intellij.plugins.xpathView.util;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.lang.LanguageAnnotators;
|
||||
import com.intellij.lang.annotation.Annotation;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.lang.annotation.Annotator;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -155,7 +155,7 @@ public final class MyPsiUtil {
|
||||
file.accept(new PsiRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitElement(@NotNull PsiElement element) {
|
||||
AnnotationSessionImpl.withSession(file, false, holder -> {
|
||||
AnnotationSessionImpl.computeWithSession(file, false, holder -> {
|
||||
holder.runAnnotatorWithContext(element, annotator);
|
||||
for (Annotation annotation : holder) {
|
||||
if (annotation.getSeverity() == HighlightSeverity.ERROR) {
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ import com.intellij.codeInspection.InspectionProfile;
|
||||
import com.intellij.codeInspection.InspectionProfileEntry;
|
||||
import com.intellij.codeInspection.ProblemDescriptor;
|
||||
import com.intellij.codeInspection.ex.InspectionToolWrapper;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -202,7 +202,7 @@ public class DomElementAnnotationsManagerImpl extends DomElementAnnotationsManag
|
||||
return problemHolder.getAllProblems(inspection);
|
||||
}
|
||||
|
||||
return AnnotationSessionImpl.withSession(domFileElement.getFile(), false, annotationHolder -> {
|
||||
return AnnotationSessionImpl.computeWithSession(domFileElement.getFile(), false, annotationHolder -> {
|
||||
DomElementAnnotationHolder holder = new DomElementAnnotationHolderImpl(onTheFly, domFileElement, annotationHolder);
|
||||
inspection.checkFileElement(domFileElement, holder);
|
||||
//noinspection unchecked
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.codeInspection.InspectionProfile;
|
||||
import com.intellij.codeInspection.ProblemDescriptor;
|
||||
import com.intellij.codeInspection.ex.LocalInspectionToolWrapper;
|
||||
import com.intellij.lang.annotation.AnnotationSessionImpl;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.AnnotationSessionImpl;
|
||||
import com.intellij.mock.MockInspectionProfile;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -118,7 +118,7 @@ public class DomHighlightingLiteTest extends DomTestCase {
|
||||
}
|
||||
|
||||
private DomElementAnnotationHolderImpl createHolder() {
|
||||
return AnnotationSessionImpl.withSession(myElement.getFile(), false, holder -> new DomElementAnnotationHolderImpl(true, myElement, holder));
|
||||
return AnnotationSessionImpl.computeWithSession(myElement.getFile(), false, holder -> new DomElementAnnotationHolderImpl(true, myElement, holder));
|
||||
}
|
||||
|
||||
private static DomElementsProblemsHolderImpl assertNotEmptyHolder(final DomElementsProblemsHolder holder1) {
|
||||
@@ -168,7 +168,7 @@ public class DomHighlightingLiteTest extends DomTestCase {
|
||||
}
|
||||
};
|
||||
final StringBuilder s = new StringBuilder();
|
||||
AnnotationSessionImpl.withSession(myElement.getFile(), false, toFill -> {
|
||||
AnnotationSessionImpl.computeWithSession(myElement.getFile(), false, toFill -> {
|
||||
final MyDomElementsInspection inspection = new MyDomElementsInspection() {
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user