Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(454)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/SemanticHighlightings.java

Issue 10703046: Issue 3753. Support for @deprecated annotation (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Analyze for @deprecated all invocable elements Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/SemanticHighlightings.java
diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/SemanticHighlightings.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/SemanticHighlightings.java
index 2fbeda887bf41d05337eaa6243908bd15dea475f..0e03e5a88e0e34d53fdb3cb67429da73b2672ce1 100644
--- a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/SemanticHighlightings.java
+++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/SemanticHighlightings.java
@@ -26,64 +26,107 @@ import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.graphics.RGB;
/**
- * Semantic highlightings
+ * Semantic highlightings.
*/
public class SemanticHighlightings {
/**
- * Semantic highlighting for variables with dynamic types.
+ * Abstract {@link SemanticHighlighting} with empty methods by default.
*/
- private static final class DynamicTypeHighlighting extends SemanticHighlighting {
+ private static abstract class DefaultSemanticHighlighting extends SemanticHighlighting {
@Override
- public boolean consumes(SemanticToken token) {
- DartIdentifier node = token.getNode();
- return DynamicTypesFinder.isDynamic(node);
+ public RGB getDefaultDefaultTextColor() {
+ return new RGB(0, 0, 0);
}
@Override
- public RGB getDefaultDefaultTextColor() {
-// return new RGB(237, 145, 33); //carrot
-// return new RGB(184, 115, 51); //copper
-// return new RGB(0xd7, 0x96, 0x7d); //taupe
- return new RGB(0x67, 0x4C, 0x47); //dark taupe
+ public boolean isBoldByDefault() {
+ return false;
}
@Override
- public String getDisplayName() {
- return DartEditorMessages.SemanticHighlighting_dynamicType;
+ public boolean isEnabledByDefault() {
+ return false;
}
@Override
- public String getPreferenceKey() {
- return DYNAMIC_TYPE;
+ public boolean isItalicByDefault() {
+ return false;
}
@Override
- public boolean isBoldByDefault() {
+ public boolean isStrikethroughByDefault() {
return false;
}
@Override
- public boolean isEnabledByDefault() {
+ public boolean isUnderlineByDefault() {
return false;
}
+ }
+ /**
+ * Semantic highlighting deprecated elements.
+ */
+ private static final class DeprecatedElementHighlighting extends DefaultSemanticHighlighting {
@Override
- public boolean isItalicByDefault() {
- return false;
+ public boolean consumes(SemanticToken token) {
+ DartIdentifier node = token.getNode();
+ NodeElement element = node.getElement();
+ return element != null && element.getMetadata().isDeprecated();
}
@Override
- public boolean isUnderlineByDefault() {
- return false;
+ public String getDisplayName() {
+ return DartEditorMessages.SemanticHighlighting_deprecatedElement;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return DEPRECATED_ELEMENT;
+ }
+
+ @Override
+ public boolean isStrikethroughByDefault() {
+ return true;
+ }
+ }
+
+ /**
+ * Semantic highlighting for variables with dynamic types.
+ */
+ private static final class DynamicTypeHighlighting extends DefaultSemanticHighlighting {
+
+ @Override
+ public boolean consumes(SemanticToken token) {
+ DartIdentifier node = token.getNode();
+ return DynamicTypesFinder.isDynamic(node);
+ }
+
+ @Override
+ public RGB getDefaultDefaultTextColor() {
+// return new RGB(237, 145, 33); //carrot
+// return new RGB(184, 115, 51); //copper
+// return new RGB(0xd7, 0x96, 0x7d); //taupe
+ return new RGB(0x67, 0x4C, 0x47); //dark taupe
+ }
+
+ @Override
+ public String getDisplayName() {
+ return DartEditorMessages.SemanticHighlighting_dynamicType;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return DYNAMIC_TYPE;
}
}
/**
* Semantic highlighting for fields.
*/
- private static class FieldHighlighting extends SemanticHighlighting {
+ private static class FieldHighlighting extends DefaultSemanticHighlighting {
@Override
public boolean consumes(SemanticToken token) {
@@ -115,32 +158,12 @@ public class SemanticHighlightings {
public String getPreferenceKey() {
return FIELD;
}
-
- @Override
- public boolean isBoldByDefault() {
- return false;
- }
-
- @Override
- public boolean isEnabledByDefault() {
- return false;
- }
-
- @Override
- public boolean isItalicByDefault() {
- return false;
- }
-
- @Override
- public boolean isUnderlineByDefault() {
- return false;
- }
}
/**
* Semantic highlighting for static fields.
*/
- private static class StaticFieldHighlighting extends FieldHighlighting {
+ private static class StaticFieldHighlighting extends DefaultSemanticHighlighting {
@Override
public boolean consumes(SemanticToken token) {
DartIdentifier node = token.getNode();
@@ -172,6 +195,11 @@ public class SemanticHighlightings {
}
/**
+ * A named preference part that controls the highlighting of deprecated elements.
+ */
+ public static final String DEPRECATED_ELEMENT = "deprecated"; //$NON-NLS-1$
+
+ /**
* A named preference part that controls the highlighting of static final fields.
*/
public static final String STATIC_FINAL_FIELD = "staticFinalField"; //$NON-NLS-1$
@@ -362,7 +390,8 @@ public class SemanticHighlightings {
public static SemanticHighlighting[] getSemanticHighlightings() {
if (SEMANTIC_HIGHTLIGHTINGS == null) {
SEMANTIC_HIGHTLIGHTINGS = new SemanticHighlighting[] {
- new StaticFieldHighlighting(), new FieldHighlighting(), new DynamicTypeHighlighting()};
+ new DeprecatedElementHighlighting(), new StaticFieldHighlighting(),
+ new FieldHighlighting(), new DynamicTypeHighlighting()};
}
return SEMANTIC_HIGHTLIGHTINGS;
}
« no previous file with comments | « editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/DartEditorMessages.properties ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698