From 4b9422b1356f68e5af8b9c2d8b4e91ff7b604c34 Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Mon, 23 Sep 2013 18:54:42 +0400 Subject: [PATCH] Reverted: Semantic highlighting level to avoid conflicts with "unused symbol" annotations [CR-IC-2435] --- .../lang/annotation/HighlightSeverity.java | 2 -- .../annotation/SemanticAnnotationHolder.java | 24 ------------------- .../daemon/impl/AnnotationHolderImpl.java | 19 ++++----------- .../daemon/impl/UpdateHighlightersUtil.java | 3 --- .../editor/markup/HighlighterLayer.java | 1 - .../ExpectedHighlightingData.java | 6 ----- .../fixtures/CodeInsightTestFixture.java | 6 ----- .../impl/CodeInsightTestFixtureImpl.java | 21 ++-------------- 8 files changed, 7 insertions(+), 75 deletions(-) delete mode 100644 platform/analysis-api/src/com/intellij/lang/annotation/SemanticAnnotationHolder.java diff --git a/platform/analysis-api/src/com/intellij/lang/annotation/HighlightSeverity.java b/platform/analysis-api/src/com/intellij/lang/annotation/HighlightSeverity.java index 7d7f751426e5..7e6ea0f3b5b4 100644 --- a/platform/analysis-api/src/com/intellij/lang/annotation/HighlightSeverity.java +++ b/platform/analysis-api/src/com/intellij/lang/annotation/HighlightSeverity.java @@ -34,8 +34,6 @@ public class HighlightSeverity implements Comparable, JDOMExt public String myName; public int myVal; - public static final HighlightSeverity SEMANTIC = new HighlightSeverity("SEMANTIC", 5); - /** * The standard severity level for information annotations. */ diff --git a/platform/analysis-api/src/com/intellij/lang/annotation/SemanticAnnotationHolder.java b/platform/analysis-api/src/com/intellij/lang/annotation/SemanticAnnotationHolder.java deleted file mode 100644 index b0c84a176b8f..000000000000 --- a/platform/analysis-api/src/com/intellij/lang/annotation/SemanticAnnotationHolder.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.intellij.lang.annotation; - -import com.intellij.openapi.editor.colors.TextAttributesKey; -import com.intellij.openapi.util.TextRange; -import org.jetbrains.annotations.NotNull; - -/** - * Allows to crate semantic annotations to highlight similar PSI elements differently depending on their actual meaning. For example, - * static members vs. instance fields and etc. Semantic annotations have lower highlighting level than infos, weak warnings etc. but - * higher than regular syntax. - * - * @author Rustam Vishnyakov - */ -public interface SemanticAnnotationHolder extends AnnotationHolder { - - /** - * Creates annotation with a semantic highlighting level. - * - * @param range The text range over which the annotation is created. - * @param attributesKey The attributes key to use for the annotation. - * @return the annotation (which can be modified to set additional annotation parameters). - */ - Annotation createSemanticAnnotation(@NotNull TextRange range, @NotNull TextAttributesKey attributesKey); -} diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/AnnotationHolderImpl.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/AnnotationHolderImpl.java index 3d1839120e22..533f62a95e73 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/AnnotationHolderImpl.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/AnnotationHolderImpl.java @@ -17,10 +17,11 @@ package com.intellij.codeInsight.daemon.impl; import com.intellij.lang.ASTNode; -import com.intellij.lang.annotation.*; -import com.intellij.openapi.application.ApplicationManager; +import com.intellij.lang.annotation.Annotation; +import com.intellij.lang.annotation.AnnotationHolder; +import com.intellij.lang.annotation.AnnotationSession; +import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; @@ -35,12 +36,10 @@ import org.jetbrains.annotations.Nullable; /** * @author max */ -public class AnnotationHolderImpl extends SmartList implements SemanticAnnotationHolder { +public class AnnotationHolderImpl extends SmartList implements AnnotationHolder { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.AnnotationHolderImpl"); private final AnnotationSession myAnnotationSession; - private final static boolean isUnitTestMode = ApplicationManager.getApplication().isUnitTestMode(); - private final boolean myBatchMode; public AnnotationHolderImpl(@NotNull AnnotationSession session) { @@ -158,12 +157,4 @@ public class AnnotationHolderImpl extends SmartList implements Seman public AnnotationSession getCurrentAnnotationSession() { return myAnnotationSession; } - - @Override - public Annotation createSemanticAnnotation(@NotNull TextRange range, @NotNull TextAttributesKey key) { - String description = isUnitTestMode ? key.getExternalName() : null; - Annotation annotation = createAnnotation(range, HighlightSeverity.SEMANTIC, description); - annotation.setTextAttributes(key); - return annotation; - } } diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/UpdateHighlightersUtil.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/UpdateHighlightersUtil.java index e0bd0ddb6142..783b01b3d93d 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/UpdateHighlightersUtil.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/UpdateHighlightersUtil.java @@ -423,9 +423,6 @@ public class UpdateHighlightersUtil { else if (severity == HighlightInfoType.INJECTED_FRAGMENT_SEVERITY) { layer = HighlighterLayer.CARET_ROW-1; } - else if (severity == HighlightSeverity.SEMANTIC) { - layer = HighlighterLayer.SEMANTIC; - } else { layer = HighlighterLayer.ADDITIONAL_SYNTAX; } diff --git a/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/HighlighterLayer.java b/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/HighlighterLayer.java index 4bab3e0c3986..da21cde7e1e3 100644 --- a/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/HighlighterLayer.java +++ b/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/HighlighterLayer.java @@ -18,7 +18,6 @@ package com.intellij.openapi.editor.markup; public interface HighlighterLayer { int CARET_ROW = 1000; int SYNTAX = 2000; - int SEMANTIC = 2500; int ADDITIONAL_SYNTAX = 3000; int GUARDED_BLOCKS = 3500; int WARNING = 4000; diff --git a/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java b/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java index 9901171bd90d..4ae3f36e9ad3 100644 --- a/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java +++ b/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java @@ -72,7 +72,6 @@ public class ExpectedHighlightingData { @NonNls private static final String END_LINE_HIGHLIGHT_MARKER = "EOLError"; @NonNls private static final String END_LINE_WARNING_MARKER = "EOLWarning"; @NonNls private static final String LINE_MARKER = "lineMarker"; - @NonNls private static final String SEMANTIC_MARKER = "semantic"; @NotNull private final Document myDocument; private final PsiFile myFile; @@ -134,7 +133,6 @@ public class ExpectedHighlightingData { highlightingTypes.put("inject", new ExpectedHighlightingSet(HighlightInfoType.INJECTED_FRAGMENT_SEVERITY, false, checkInfos)); highlightingTypes.put(INFO_MARKER, new ExpectedHighlightingSet(HighlightSeverity.INFORMATION, false, checkInfos)); highlightingTypes.put("symbolName", new ExpectedHighlightingSet(HighlightInfoType.SYMBOL_TYPE_SEVERITY, false, false)); - highlightingTypes.put(SEMANTIC_MARKER, new ExpectedHighlightingSet(HighlightSeverity.SEMANTIC, false, false)); for (SeveritiesProvider provider : Extensions.getExtensions(SeveritiesProvider.EP_NAME)) { for (HighlightInfoType type : provider.getSeveritiesHighlightInfoTypes()) { final HighlightSeverity severity = type.getSeverity(null); @@ -175,10 +173,6 @@ public class ExpectedHighlightingData { highlightingTypes.put("symbolName", new ExpectedHighlightingSet(HighlightInfoType.SYMBOL_TYPE_SEVERITY, false, true)); } - public void checkSemantics() { - highlightingTypes.put(SEMANTIC_MARKER, new ExpectedHighlightingSet(HighlightSeverity.SEMANTIC, false, true)); - } - private void refreshLineMarkers() { for (Map.Entry entry : lineMarkerInfos.entrySet()) { RangeMarker rangeMarker = entry.getKey(); diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java index 7e76fe666dd4..1ee830e8281e 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java @@ -252,12 +252,6 @@ public interface CodeInsightTestFixture extends IdeaProjectTestFixture { */ long testHighlighting(boolean checkWarnings, boolean checkInfos, boolean checkWeakWarnings, @TestDataFile @NonNls String... filePaths); - long testHighlighting(boolean checkWarnings, - boolean checkInfos, - boolean checkWeakWarnings, - boolean checkSemantics, - @TestDataFile @NonNls String... filePaths); - long testHighlightingAllFiles(boolean checkWarnings, boolean checkInfos, boolean checkWeakWarnings, @TestDataFile @NonNls String... filePaths); long testHighlightingAllFiles(boolean checkWarnings, boolean checkInfos, boolean checkWeakWarnings, @TestDataFile @NonNls VirtualFile... files); diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java index 68162c79806f..153b2939914d 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java @@ -326,21 +326,11 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig final boolean checkInfos, final boolean checkWeakWarnings, final String... filePaths) { - return testHighlighting(checkWarnings, checkInfos, checkWeakWarnings, false, filePaths); - } - - - @Override - public long testHighlighting(boolean checkWarnings, - boolean checkInfos, - boolean checkWeakWarnings, - boolean checkSemantics, - @TestDataFile @NonNls String... filePaths) { if (filePaths.length > 0) { configureByFilesInner(filePaths); } try { - return collectAndCheckHighlighting(checkWarnings, checkInfos, checkWeakWarnings, checkSemantics); + return collectAndCheckHighlighting(checkWarnings, checkInfos, checkWeakWarnings); } catch (Exception e) { throw new RuntimeException(e); @@ -1419,14 +1409,7 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig } private long collectAndCheckHighlighting(boolean checkWarnings, boolean checkInfos, boolean checkWeakWarnings) throws Exception { - return collectAndCheckHighlighting(checkWarnings, checkInfos, checkWeakWarnings, false); - } - - private long collectAndCheckHighlighting(boolean checkWarnings, boolean checkInfos, boolean checkWeakWarnings, boolean checkSemantics) - throws Exception { - ExpectedHighlightingData data = - new ExpectedHighlightingData(myEditor.getDocument(), checkWarnings, checkWeakWarnings, checkInfos, getHostFile()); - if (checkSemantics) data.checkSemantics(); + ExpectedHighlightingData data = new ExpectedHighlightingData(myEditor.getDocument(), checkWarnings, checkWeakWarnings, checkInfos, getHostFile()); data.init(); return collectAndCheckHighlighting(data); }