Remove support for v1 of analysis highlighting.
Change-Id: I65bc645de9565628d82d1ff969616f3e38582275
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171682
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/doc/api.html b/pkg/analysis_server/doc/api.html
index 37b095d9..b5db21c 100644
--- a/pkg/analysis_server/doc/api.html
+++ b/pkg/analysis_server/doc/api.html
@@ -109,7 +109,7 @@
<body>
<h1>Analysis Server API Specification</h1>
<h1 style="color:#999999">Version
- 1.30.0
+ 1.31.0
</h1>
<p>
This document contains a specification of the API provided by the
@@ -4239,152 +4239,47 @@
<dl><dt class="value">ANNOTATION</dt><dt class="value">BUILT_IN</dt><dt class="value">CLASS</dt><dt class="value">COMMENT_BLOCK</dt><dt class="value">COMMENT_DOCUMENTATION</dt><dt class="value">COMMENT_END_OF_LINE</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">DIRECTIVE</dt><dt class="value">DYNAMIC_TYPE</dt><dd>
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_DECLARATION</dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_DECLARATION</dt><dt class="value">DYNAMIC_LOCAL_VARIABLE_REFERENCE</dt><dt class="value">DYNAMIC_PARAMETER_DECLARATION</dt><dt class="value">DYNAMIC_PARAMETER_REFERENCE</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dd>
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">DYNAMIC_PARAMETER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">DYNAMIC_PARAMETER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dd>
-
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FIELD_STATIC</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FUNCTION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FUNCTION_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PREFIX</dt><dt class="value">INSTANCE_FIELD_DECLARATION</dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PREFIX</dt><dt class="value">INSTANCE_FIELD_DECLARATION</dt><dt class="value">INSTANCE_FIELD_REFERENCE</dt><dt class="value">INSTANCE_GETTER_DECLARATION</dt><dt class="value">INSTANCE_GETTER_REFERENCE</dt><dt class="value">INSTANCE_METHOD_DECLARATION</dt><dt class="value">INSTANCE_METHOD_REFERENCE</dt><dt class="value">INSTANCE_SETTER_DECLARATION</dt><dt class="value">INSTANCE_SETTER_REFERENCE</dt><dt class="value">INVALID_STRING_ESCAPE</dt><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY_NAME</dt><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class="value">LOCAL_FUNCTION_DECLARATION</dt><dt class="value">LOCAL_FUNCTION_REFERENCE</dt><dt class="value">LOCAL_VARIABLE</dt><dd>
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_FIELD_REFERENCE</dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">LOCAL_VARIABLE_REFERENCE</dt><dt class="value">METHOD</dt><dd>
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_GETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_GETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_METHOD_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_METHOD_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_SETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_SETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INVALID_STRING_ESCAPE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY_NAME</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class="value">LOCAL_FUNCTION_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">LOCAL_FUNCTION_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">LOCAL_VARIABLE</dt><dd>
-
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">LOCAL_VARIABLE_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">METHOD</dt><dd>
-
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">METHOD_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">METHOD_DECLARATION_STATIC</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">METHOD_STATIC</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">PARAMETER</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">SETTER_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">TOP_LEVEL_VARIABLE</dt><dd>
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">PARAMETER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">PARAMETER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_FIELD_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_GETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_GETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_METHOD_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_METHOD_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_SETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_SETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_FUNCTION_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_FUNCTION_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_GETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_GETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_SETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_SETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_VARIABLE_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNRESOLVED_INSTANCE_MEMBER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">VALID_STRING_ESCAPE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd></dl></dd><dt class="typeDefinition"><a name="type_HoverInformation">HoverInformation: object</a></dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">PARAMETER_DECLARATION</dt><dt class="value">PARAMETER_REFERENCE</dt><dt class="value">STATIC_FIELD_DECLARATION</dt><dt class="value">STATIC_GETTER_DECLARATION</dt><dt class="value">STATIC_GETTER_REFERENCE</dt><dt class="value">STATIC_METHOD_DECLARATION</dt><dt class="value">STATIC_METHOD_REFERENCE</dt><dt class="value">STATIC_SETTER_DECLARATION</dt><dt class="value">STATIC_SETTER_REFERENCE</dt><dt class="value">TOP_LEVEL_FUNCTION_DECLARATION</dt><dt class="value">TOP_LEVEL_FUNCTION_REFERENCE</dt><dt class="value">TOP_LEVEL_GETTER_DECLARATION</dt><dt class="value">TOP_LEVEL_GETTER_REFERENCE</dt><dt class="value">TOP_LEVEL_SETTER_DECLARATION</dt><dt class="value">TOP_LEVEL_SETTER_REFERENCE</dt><dt class="value">TOP_LEVEL_VARIABLE_DECLARATION</dt><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNRESOLVED_INSTANCE_MEMBER_REFERENCE</dt><dt class="value">VALID_STRING_ESCAPE</dt></dl></dd><dt class="typeDefinition"><a name="type_HoverInformation">HoverInformation: object</a></dt><dd>
<p>
The hover information associated with a specific location.
</p>
diff --git a/pkg/analysis_server/lib/protocol/protocol_constants.dart b/pkg/analysis_server/lib/protocol/protocol_constants.dart
index 25f5a64..61ada08 100644
--- a/pkg/analysis_server/lib/protocol/protocol_constants.dart
+++ b/pkg/analysis_server/lib/protocol/protocol_constants.dart
@@ -6,7 +6,7 @@
// To regenerate the file, use the script
// "pkg/analysis_server/tool/spec/generate_files".
-const String PROTOCOL_VERSION = '1.30.0';
+const String PROTOCOL_VERSION = '1.31.0';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES = 'analysis.analyzedFiles';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES_DIRECTORIES = 'directories';
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index ce3c063..adbfc57 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -15,7 +15,6 @@
hide AnalysisOptions;
import 'package:analysis_server/src/analysis_server_abstract.dart';
import 'package:analysis_server/src/channel/channel.dart';
-import 'package:analysis_server/src/computer/computer_highlights.dart';
import 'package:analysis_server/src/computer/computer_highlights2.dart';
import 'package:analysis_server/src/computer/new_notifications.dart';
import 'package:analysis_server/src/context_manager.dart';
@@ -601,8 +600,6 @@
/// Various IDE options.
class AnalysisServerOptions {
- bool useAnalysisHighlight2 = false;
-
String fileReadMode = 'as-is';
String newAnalysisDriverLog;
@@ -829,11 +826,7 @@
}
List<HighlightRegion> _computeHighlightRegions(CompilationUnit unit) {
- if (analysisServer.options.useAnalysisHighlight2) {
- return DartUnitHighlightsComputer2(unit).compute();
- } else {
- return DartUnitHighlightsComputer(unit).compute();
- }
+ return DartUnitHighlightsComputer2(unit).compute();
}
server.AnalysisNavigationParams _computeNavigationParams(
diff --git a/pkg/analysis_server/lib/src/computer/computer_highlights.dart b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
deleted file mode 100644
index 3c280ff..0000000
--- a/pkg/analysis_server/lib/src/computer/computer_highlights.dart
+++ /dev/null
@@ -1,828 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/dart/ast/visitor.dart';
-import 'package:analyzer/dart/element/element.dart';
-import 'package:analyzer/src/dart/ast/extensions.dart';
-import 'package:analyzer_plugin/protocol/protocol_common.dart' hide Element;
-
-/// A computer for [HighlightRegion]s in a Dart [CompilationUnit].
-class DartUnitHighlightsComputer {
- final CompilationUnit _unit;
-
- final List<HighlightRegion> _regions = <HighlightRegion>[];
-
- DartUnitHighlightsComputer(this._unit);
-
- /// Returns the computed highlight regions, not `null`.
- List<HighlightRegion> compute() {
- _unit.accept(_DartUnitHighlightsComputerVisitor(this));
- _addCommentRanges();
- return _regions;
- }
-
- void _addCommentRanges() {
- var token = _unit.beginToken;
- while (token != null) {
- Token commentToken = token.precedingComments;
- while (commentToken != null) {
- HighlightRegionType highlightType;
- if (commentToken.type == TokenType.MULTI_LINE_COMMENT) {
- if (commentToken.lexeme.startsWith('/**')) {
- highlightType = HighlightRegionType.COMMENT_DOCUMENTATION;
- } else {
- highlightType = HighlightRegionType.COMMENT_BLOCK;
- }
- }
- if (commentToken.type == TokenType.SINGLE_LINE_COMMENT) {
- highlightType = HighlightRegionType.COMMENT_END_OF_LINE;
- }
- if (highlightType != null) {
- _addRegion_token(commentToken, highlightType);
- }
- commentToken = commentToken.next;
- }
- if (token.type == TokenType.EOF) {
- // Only exit the loop *after* processing the EOF token as it may
- // have preceeding comments.
- break;
- }
- token = token.next;
- }
- }
-
- void _addIdentifierRegion(SimpleIdentifier node) {
- if (_addIdentifierRegion_keyword(node)) {
- return;
- }
- if (_addIdentifierRegion_class(node)) {
- return;
- }
- if (_addIdentifierRegion_constructor(node)) {
- return;
- }
- if (_addIdentifierRegion_dynamicType(node)) {
- return;
- }
- if (_addIdentifierRegion_getterSetterDeclaration(node)) {
- return;
- }
- if (_addIdentifierRegion_field(node)) {
- return;
- }
- if (_addIdentifierRegion_function(node)) {
- return;
- }
- if (_addIdentifierRegion_functionTypeAlias(node)) {
- return;
- }
- if (_addIdentifierRegion_importPrefix(node)) {
- return;
- }
- if (_addIdentifierRegion_label(node)) {
- return;
- }
- if (_addIdentifierRegion_localVariable(node)) {
- return;
- }
- if (_addIdentifierRegion_method(node)) {
- return;
- }
- if (_addIdentifierRegion_parameter(node)) {
- return;
- }
- if (_addIdentifierRegion_typeParameter(node)) {
- return;
- }
- _addRegion_node(node, HighlightRegionType.IDENTIFIER_DEFAULT);
- }
-
- void _addIdentifierRegion_annotation(Annotation node) {
- var arguments = node.arguments;
- if (arguments == null) {
- _addRegion_node(node, HighlightRegionType.ANNOTATION);
- } else {
- _addRegion_nodeStart_tokenEnd(
- node, arguments.beginToken, HighlightRegionType.ANNOTATION);
- _addRegion_token(arguments.endToken, HighlightRegionType.ANNOTATION);
- }
- }
-
- bool _addIdentifierRegion_class(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! ClassElement) {
- return false;
- }
- ClassElement classElement = element;
- // prepare type
- HighlightRegionType type;
- if (node.parent is TypeName &&
- node.parent.parent is ConstructorName &&
- node.parent.parent.parent is InstanceCreationExpression) {
- // new Class()
- type = HighlightRegionType.CONSTRUCTOR;
- } else if (classElement.isEnum) {
- type = HighlightRegionType.ENUM;
- } else {
- type = HighlightRegionType.CLASS;
- }
- // add region
- return _addRegion_node(node, type);
- }
-
- bool _addIdentifierRegion_constructor(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! ConstructorElement) {
- return false;
- }
- return _addRegion_node(node, HighlightRegionType.CONSTRUCTOR);
- }
-
- bool _addIdentifierRegion_dynamicType(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is VariableElement) {
- var staticType = element.type;
- if (staticType == null || !staticType.isDynamic) {
- return false;
- }
- return _addRegion_node(node, HighlightRegionType.DYNAMIC_TYPE);
- }
- return false;
- }
-
- bool _addIdentifierRegion_field(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is FieldFormalParameterElement) {
- element = (element as FieldFormalParameterElement).field;
- }
- if (element is PropertyAccessorElement) {
- element = (element as PropertyAccessorElement).variable;
- }
- // prepare type
- HighlightRegionType type;
- if (element is FieldElement) {
- var enclosingElement = element.enclosingElement;
- if (enclosingElement is ClassElement && enclosingElement.isEnum) {
- type = HighlightRegionType.ENUM_CONSTANT;
- } else if (element.isStatic) {
- type = HighlightRegionType.FIELD_STATIC;
- } else {
- type = HighlightRegionType.FIELD;
- }
- } else if (element is TopLevelVariableElement) {
- type = HighlightRegionType.TOP_LEVEL_VARIABLE;
- }
- // add region
- if (type != null) {
- return _addRegion_node(node, type);
- }
- return false;
- }
-
- bool _addIdentifierRegion_function(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! FunctionElement) {
- return false;
- }
- HighlightRegionType type;
- if (node.inDeclarationContext()) {
- type = HighlightRegionType.FUNCTION_DECLARATION;
- } else {
- type = HighlightRegionType.FUNCTION;
- }
- return _addRegion_node(node, type);
- }
-
- bool _addIdentifierRegion_functionTypeAlias(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! FunctionTypeAliasElement) {
- return false;
- }
- return _addRegion_node(node, HighlightRegionType.FUNCTION_TYPE_ALIAS);
- }
-
- bool _addIdentifierRegion_getterSetterDeclaration(SimpleIdentifier node) {
- // should be declaration
- var parent = node.parent;
- if (!(parent is MethodDeclaration || parent is FunctionDeclaration)) {
- return false;
- }
- // should be property accessor
- var element = node.writeOrReadElement;
- if (element is! PropertyAccessorElement) {
- return false;
- }
- // getter or setter
- var propertyAccessorElement = element as PropertyAccessorElement;
- if (propertyAccessorElement.isGetter) {
- return _addRegion_node(node, HighlightRegionType.GETTER_DECLARATION);
- } else {
- return _addRegion_node(node, HighlightRegionType.SETTER_DECLARATION);
- }
- }
-
- bool _addIdentifierRegion_importPrefix(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! PrefixElement) {
- return false;
- }
- return _addRegion_node(node, HighlightRegionType.IMPORT_PREFIX);
- }
-
- bool _addIdentifierRegion_keyword(SimpleIdentifier node) {
- var name = node.name;
- if (name == 'void') {
- return _addRegion_node(node, HighlightRegionType.KEYWORD);
- }
- return false;
- }
-
- bool _addIdentifierRegion_label(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! LabelElement) {
- return false;
- }
- return _addRegion_node(node, HighlightRegionType.LABEL);
- }
-
- bool _addIdentifierRegion_localVariable(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! LocalVariableElement) {
- return false;
- }
- // OK
- HighlightRegionType type;
- if (node.inDeclarationContext()) {
- type = HighlightRegionType.LOCAL_VARIABLE_DECLARATION;
- } else {
- type = HighlightRegionType.LOCAL_VARIABLE;
- }
- return _addRegion_node(node, type);
- }
-
- bool _addIdentifierRegion_method(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! MethodElement) {
- return false;
- }
- var methodElement = element as MethodElement;
- var isStatic = methodElement.isStatic;
- // OK
- HighlightRegionType type;
- if (node.inDeclarationContext()) {
- if (isStatic) {
- type = HighlightRegionType.METHOD_DECLARATION_STATIC;
- } else {
- type = HighlightRegionType.METHOD_DECLARATION;
- }
- } else {
- if (isStatic) {
- type = HighlightRegionType.METHOD_STATIC;
- } else {
- type = HighlightRegionType.METHOD;
- }
- }
- return _addRegion_node(node, type);
- }
-
- bool _addIdentifierRegion_parameter(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! ParameterElement) {
- return false;
- }
- return _addRegion_node(node, HighlightRegionType.PARAMETER);
- }
-
- bool _addIdentifierRegion_typeParameter(SimpleIdentifier node) {
- var element = node.writeOrReadElement;
- if (element is! TypeParameterElement) {
- return false;
- }
- return _addRegion_node(node, HighlightRegionType.TYPE_PARAMETER);
- }
-
- void _addRegion(int offset, int length, HighlightRegionType type) {
- _regions.add(HighlightRegion(type, offset, length));
- }
-
- bool _addRegion_node(AstNode node, HighlightRegionType type) {
- var offset = node.offset;
- var length = node.length;
- _addRegion(offset, length, type);
- return true;
- }
-
- void _addRegion_nodeStart_tokenEnd(
- AstNode a, Token b, HighlightRegionType type) {
- var offset = a.offset;
- var end = b.end;
- _addRegion(offset, end - offset, type);
- }
-
- void _addRegion_token(Token token, HighlightRegionType type) {
- if (token != null) {
- var offset = token.offset;
- var length = token.length;
- _addRegion(offset, length, type);
- }
- }
-
- void _addRegion_tokenStart_tokenEnd(
- Token a, Token b, HighlightRegionType type) {
- var offset = a.offset;
- var end = b.end;
- _addRegion(offset, end - offset, type);
- }
-}
-
-/// An AST visitor for [DartUnitHighlightsComputer].
-class _DartUnitHighlightsComputerVisitor extends RecursiveAstVisitor<void> {
- final DartUnitHighlightsComputer computer;
-
- _DartUnitHighlightsComputerVisitor(this.computer);
-
- @override
- void visitAnnotation(Annotation node) {
- computer._addIdentifierRegion_annotation(node);
- super.visitAnnotation(node);
- }
-
- @override
- void visitAsExpression(AsExpression node) {
- computer._addRegion_token(node.asOperator, HighlightRegionType.BUILT_IN);
- super.visitAsExpression(node);
- }
-
- @override
- void visitAssertStatement(AssertStatement node) {
- computer._addRegion_token(node.assertKeyword, HighlightRegionType.KEYWORD);
- super.visitAssertStatement(node);
- }
-
- @override
- void visitAwaitExpression(AwaitExpression node) {
- computer._addRegion_token(node.awaitKeyword, HighlightRegionType.BUILT_IN);
- super.visitAwaitExpression(node);
- }
-
- @override
- void visitBlockFunctionBody(BlockFunctionBody node) {
- _addRegions_functionBody(node);
- super.visitBlockFunctionBody(node);
- }
-
- @override
- void visitBooleanLiteral(BooleanLiteral node) {
- computer._addRegion_node(node, HighlightRegionType.KEYWORD);
- computer._addRegion_node(node, HighlightRegionType.LITERAL_BOOLEAN);
- super.visitBooleanLiteral(node);
- }
-
- @override
- void visitBreakStatement(BreakStatement node) {
- computer._addRegion_token(node.breakKeyword, HighlightRegionType.KEYWORD);
- super.visitBreakStatement(node);
- }
-
- @override
- void visitCatchClause(CatchClause node) {
- computer._addRegion_token(node.catchKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(node.onKeyword, HighlightRegionType.BUILT_IN);
- super.visitCatchClause(node);
- }
-
- @override
- void visitClassDeclaration(ClassDeclaration node) {
- computer._addRegion_token(node.classKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(
- node.abstractKeyword, HighlightRegionType.BUILT_IN);
- super.visitClassDeclaration(node);
- }
-
- @override
- void visitClassTypeAlias(ClassTypeAlias node) {
- computer._addRegion_token(
- node.abstractKeyword, HighlightRegionType.BUILT_IN);
- super.visitClassTypeAlias(node);
- }
-
- @override
- void visitConstructorDeclaration(ConstructorDeclaration node) {
- computer._addRegion_token(
- node.externalKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(
- node.factoryKeyword, HighlightRegionType.BUILT_IN);
- super.visitConstructorDeclaration(node);
- }
-
- @override
- void visitContinueStatement(ContinueStatement node) {
- computer._addRegion_token(
- node.continueKeyword, HighlightRegionType.KEYWORD);
- super.visitContinueStatement(node);
- }
-
- @override
- void visitDefaultFormalParameter(DefaultFormalParameter node) {
- computer._addRegion_token(
- node.requiredKeyword, HighlightRegionType.KEYWORD);
- super.visitDefaultFormalParameter(node);
- }
-
- @override
- void visitDoStatement(DoStatement node) {
- computer._addRegion_token(node.doKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(node.whileKeyword, HighlightRegionType.KEYWORD);
- super.visitDoStatement(node);
- }
-
- @override
- void visitDoubleLiteral(DoubleLiteral node) {
- computer._addRegion_node(node, HighlightRegionType.LITERAL_DOUBLE);
- super.visitDoubleLiteral(node);
- }
-
- @override
- void visitEnumDeclaration(EnumDeclaration node) {
- computer._addRegion_token(node.enumKeyword, HighlightRegionType.KEYWORD);
- super.visitEnumDeclaration(node);
- }
-
- @override
- void visitExportDirective(ExportDirective node) {
- computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
- computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
- super.visitExportDirective(node);
- }
-
- @override
- void visitExpressionFunctionBody(ExpressionFunctionBody node) {
- _addRegions_functionBody(node);
- super.visitExpressionFunctionBody(node);
- }
-
- @override
- void visitExtendsClause(ExtendsClause node) {
- computer._addRegion_token(node.extendsKeyword, HighlightRegionType.KEYWORD);
- super.visitExtendsClause(node);
- }
-
- @override
- void visitExtensionDeclaration(ExtensionDeclaration node) {
- computer._addRegion_token(
- node.extensionKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(node.onKeyword, HighlightRegionType.BUILT_IN);
- super.visitExtensionDeclaration(node);
- }
-
- @override
- void visitFieldDeclaration(FieldDeclaration node) {
- computer._addRegion_token(
- node.abstractKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(
- node.externalKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(node.staticKeyword, HighlightRegionType.BUILT_IN);
- super.visitFieldDeclaration(node);
- }
-
- @override
- void visitFieldFormalParameter(FieldFormalParameter node) {
- computer._addRegion_token(
- node.requiredKeyword, HighlightRegionType.KEYWORD);
- super.visitFieldFormalParameter(node);
- }
-
- @override
- void visitForEachPartsWithDeclaration(ForEachPartsWithDeclaration node) {
- computer._addRegion_token(node.inKeyword, HighlightRegionType.KEYWORD);
- super.visitForEachPartsWithDeclaration(node);
- }
-
- @override
- void visitForEachPartsWithIdentifier(ForEachPartsWithIdentifier node) {
- computer._addRegion_token(node.inKeyword, HighlightRegionType.KEYWORD);
- super.visitForEachPartsWithIdentifier(node);
- }
-
- @override
- void visitForElement(ForElement node) {
- computer._addRegion_token(node.awaitKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(node.forKeyword, HighlightRegionType.KEYWORD);
- super.visitForElement(node);
- }
-
- @override
- void visitForStatement(ForStatement node) {
- computer._addRegion_token(node.awaitKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(node.forKeyword, HighlightRegionType.KEYWORD);
- super.visitForStatement(node);
- }
-
- @override
- void visitFunctionDeclaration(FunctionDeclaration node) {
- computer._addRegion_token(
- node.externalKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(
- node.propertyKeyword, HighlightRegionType.BUILT_IN);
- super.visitFunctionDeclaration(node);
- }
-
- @override
- void visitFunctionTypeAlias(FunctionTypeAlias node) {
- computer._addRegion_token(
- node.typedefKeyword, HighlightRegionType.BUILT_IN);
- super.visitFunctionTypeAlias(node);
- }
-
- @override
- void visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
- computer._addRegion_token(
- node.requiredKeyword, HighlightRegionType.KEYWORD);
- super.visitFunctionTypedFormalParameter(node);
- }
-
- @override
- void visitGenericFunctionType(GenericFunctionType node) {
- computer._addRegion_token(
- node.functionKeyword, HighlightRegionType.KEYWORD);
- super.visitGenericFunctionType(node);
- }
-
- @override
- void visitGenericTypeAlias(GenericTypeAlias node) {
- computer._addRegion_token(node.typedefKeyword, HighlightRegionType.KEYWORD);
- super.visitGenericTypeAlias(node);
- }
-
- @override
- void visitHideCombinator(HideCombinator node) {
- computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
- super.visitHideCombinator(node);
- }
-
- @override
- void visitIfElement(IfElement node) {
- computer._addRegion_token(node.ifKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(node.elseKeyword, HighlightRegionType.KEYWORD);
- super.visitIfElement(node);
- }
-
- @override
- void visitIfStatement(IfStatement node) {
- computer._addRegion_token(node.ifKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(node.elseKeyword, HighlightRegionType.KEYWORD);
- super.visitIfStatement(node);
- }
-
- @override
- void visitImplementsClause(ImplementsClause node) {
- computer._addRegion_token(
- node.implementsKeyword, HighlightRegionType.BUILT_IN);
- super.visitImplementsClause(node);
- }
-
- @override
- void visitImportDirective(ImportDirective node) {
- computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
- computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(
- node.deferredKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(node.asKeyword, HighlightRegionType.BUILT_IN);
- super.visitImportDirective(node);
- }
-
- @override
- void visitInstanceCreationExpression(InstanceCreationExpression node) {
- if (node.keyword != null) {
- computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
- }
- super.visitInstanceCreationExpression(node);
- }
-
- @override
- void visitIntegerLiteral(IntegerLiteral node) {
- computer._addRegion_node(node, HighlightRegionType.LITERAL_INTEGER);
- super.visitIntegerLiteral(node);
- }
-
- @override
- void visitIsExpression(IsExpression node) {
- computer._addRegion_token(node.isOperator, HighlightRegionType.KEYWORD);
- super.visitIsExpression(node);
- }
-
- @override
- void visitLibraryDirective(LibraryDirective node) {
- computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
- computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
- super.visitLibraryDirective(node);
- }
-
- @override
- void visitListLiteral(ListLiteral node) {
- computer._addRegion_node(node, HighlightRegionType.LITERAL_LIST);
- computer._addRegion_token(node.constKeyword, HighlightRegionType.KEYWORD);
- super.visitListLiteral(node);
- }
-
- @override
- void visitMethodDeclaration(MethodDeclaration node) {
- computer._addRegion_token(
- node.externalKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(
- node.modifierKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(
- node.operatorKeyword, HighlightRegionType.BUILT_IN);
- computer._addRegion_token(
- node.propertyKeyword, HighlightRegionType.BUILT_IN);
- super.visitMethodDeclaration(node);
- }
-
- @override
- void visitMixinDeclaration(MixinDeclaration node) {
- computer._addRegion_token(node.mixinKeyword, HighlightRegionType.BUILT_IN);
- super.visitMixinDeclaration(node);
- }
-
- @override
- void visitNativeClause(NativeClause node) {
- computer._addRegion_token(node.nativeKeyword, HighlightRegionType.BUILT_IN);
- super.visitNativeClause(node);
- }
-
- @override
- void visitNativeFunctionBody(NativeFunctionBody node) {
- computer._addRegion_token(node.nativeKeyword, HighlightRegionType.BUILT_IN);
- super.visitNativeFunctionBody(node);
- }
-
- @override
- void visitOnClause(OnClause node) {
- computer._addRegion_token(node.onKeyword, HighlightRegionType.BUILT_IN);
- super.visitOnClause(node);
- }
-
- @override
- void visitPartDirective(PartDirective node) {
- computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
- computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
- super.visitPartDirective(node);
- }
-
- @override
- void visitPartOfDirective(PartOfDirective node) {
- computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
- computer._addRegion_tokenStart_tokenEnd(
- node.partKeyword, node.ofKeyword, HighlightRegionType.BUILT_IN);
- super.visitPartOfDirective(node);
- }
-
- @override
- void visitRethrowExpression(RethrowExpression node) {
- computer._addRegion_token(node.rethrowKeyword, HighlightRegionType.KEYWORD);
- super.visitRethrowExpression(node);
- }
-
- @override
- void visitReturnStatement(ReturnStatement node) {
- computer._addRegion_token(node.returnKeyword, HighlightRegionType.KEYWORD);
- super.visitReturnStatement(node);
- }
-
- @override
- void visitSetOrMapLiteral(SetOrMapLiteral node) {
- if (node.isMap) {
- computer._addRegion_node(node, HighlightRegionType.LITERAL_MAP);
- // TODO(brianwilkerson) Add a highlight region for set literals. This
- // would be a breaking change, but would be consistent with list and map
- // literals.
-// } else if (node.isSet) {
-// computer._addRegion_node(node, HighlightRegionType.LITERAL_SET);
- }
- computer._addRegion_token(node.constKeyword, HighlightRegionType.KEYWORD);
- super.visitSetOrMapLiteral(node);
- }
-
- @override
- void visitShowCombinator(ShowCombinator node) {
- computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
- super.visitShowCombinator(node);
- }
-
- @override
- void visitSimpleFormalParameter(SimpleFormalParameter node) {
- computer._addRegion_token(
- node.requiredKeyword, HighlightRegionType.KEYWORD);
- super.visitSimpleFormalParameter(node);
- }
-
- @override
- void visitSimpleIdentifier(SimpleIdentifier node) {
- computer._addIdentifierRegion(node);
- super.visitSimpleIdentifier(node);
- }
-
- @override
- void visitSimpleStringLiteral(SimpleStringLiteral node) {
- computer._addRegion_node(node, HighlightRegionType.LITERAL_STRING);
- super.visitSimpleStringLiteral(node);
- }
-
- @override
- void visitSuperConstructorInvocation(SuperConstructorInvocation node) {
- computer._addRegion_token(node.superKeyword, HighlightRegionType.KEYWORD);
- super.visitSuperConstructorInvocation(node);
- }
-
- @override
- void visitSwitchCase(SwitchCase node) {
- computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
- super.visitSwitchCase(node);
- }
-
- @override
- void visitSwitchDefault(SwitchDefault node) {
- computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
- super.visitSwitchDefault(node);
- }
-
- @override
- void visitSwitchStatement(SwitchStatement node) {
- computer._addRegion_token(node.switchKeyword, HighlightRegionType.KEYWORD);
- super.visitSwitchStatement(node);
- }
-
- @override
- void visitThisExpression(ThisExpression node) {
- computer._addRegion_token(node.thisKeyword, HighlightRegionType.KEYWORD);
- super.visitThisExpression(node);
- }
-
- @override
- void visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
- computer._addRegion_token(
- node.externalKeyword, HighlightRegionType.BUILT_IN);
- super.visitTopLevelVariableDeclaration(node);
- }
-
- @override
- void visitTryStatement(TryStatement node) {
- computer._addRegion_token(node.tryKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(node.finallyKeyword, HighlightRegionType.KEYWORD);
- super.visitTryStatement(node);
- }
-
- @override
- void visitTypeName(TypeName node) {
- var type = node.type;
- if (type != null) {
- if (type.isDynamic && node.name.name == 'dynamic') {
- computer._addRegion_node(node, HighlightRegionType.TYPE_NAME_DYNAMIC);
- return null;
- }
- }
- super.visitTypeName(node);
- }
-
- @override
- void visitVariableDeclarationList(VariableDeclarationList node) {
- computer._addRegion_token(node.lateKeyword, HighlightRegionType.KEYWORD);
- computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
- super.visitVariableDeclarationList(node);
- }
-
- @override
- void visitWhileStatement(WhileStatement node) {
- computer._addRegion_token(node.whileKeyword, HighlightRegionType.KEYWORD);
- super.visitWhileStatement(node);
- }
-
- @override
- void visitWithClause(WithClause node) {
- computer._addRegion_token(node.withKeyword, HighlightRegionType.KEYWORD);
- super.visitWithClause(node);
- }
-
- @override
- void visitYieldStatement(YieldStatement node) {
- var keyword = node.yieldKeyword;
- var star = node.star;
- var offset = keyword.offset;
- var end = star != null ? star.end : keyword.end;
- computer._addRegion(offset, end - offset, HighlightRegionType.BUILT_IN);
- super.visitYieldStatement(node);
- }
-
- void _addRegions_functionBody(FunctionBody node) {
- var keyword = node.keyword;
- if (keyword != null) {
- var star = node.star;
- var offset = keyword.offset;
- var end = star != null ? star.end : keyword.end;
- computer._addRegion(offset, end - offset, HighlightRegionType.BUILT_IN);
- }
- }
-}
diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
index c26fd4a..1f2391e 100644
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
@@ -5,7 +5,6 @@
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/computer/computer_closingLabels.dart';
import 'package:analysis_server/src/computer/computer_folding.dart';
-import 'package:analysis_server/src/computer/computer_highlights.dart';
import 'package:analysis_server/src/computer/computer_highlights2.dart';
import 'package:analysis_server/src/computer/computer_outline.dart';
import 'package:analysis_server/src/computer/computer_overrides.dart';
@@ -100,12 +99,7 @@
void sendAnalysisNotificationHighlights(
AnalysisServer server, String file, CompilationUnit dartUnit) {
_sendNotification(server, () {
- List<protocol.HighlightRegion> regions;
- if (server.options.useAnalysisHighlight2) {
- regions = DartUnitHighlightsComputer2(dartUnit).compute();
- } else {
- regions = DartUnitHighlightsComputer(dartUnit).compute();
- }
+ var regions = DartUnitHighlightsComputer2(dartUnit).compute();
var params = protocol.AnalysisHighlightsParams(file, regions);
server.sendNotification(params.toNotification());
});
diff --git a/pkg/analysis_server/lib/src/server/driver.dart b/pkg/analysis_server/lib/src/server/driver.dart
index 8e7af39..36cd808 100644
--- a/pkg/analysis_server/lib/src/server/driver.dart
+++ b/pkg/analysis_server/lib/src/server/driver.dart
@@ -252,10 +252,6 @@
/// The name of the option used to describe the new analysis driver logger.
static const String NEW_ANALYSIS_DRIVER_LOG = 'new-analysis-driver-log';
- /// The name of the flag used to enable version 2 of semantic highlight
- /// notification.
- static const String USE_ANALYSIS_HIGHLIGHT2 = 'useAnalysisHighlight2';
-
/// The option for specifying the http diagnostic port.
/// If specified, users can review server status and performance information
/// by opening a web browser on http://localhost:<port>
@@ -309,8 +305,6 @@
var results = parser.parse(arguments, <String, String>{});
var analysisServerOptions = AnalysisServerOptions();
- analysisServerOptions.useAnalysisHighlight2 =
- results[USE_ANALYSIS_HIGHLIGHT2];
analysisServerOptions.fileReadMode = results[FILE_READ_MODE];
analysisServerOptions.newAnalysisDriverLog =
results[NEW_ANALYSIS_DRIVER_LOG];
@@ -769,10 +763,6 @@
' status and performance information');
parser.addOption(SDK_OPTION,
valueHelp: 'path', help: 'Path to the Dart sdk');
- parser.addFlag(USE_ANALYSIS_HIGHLIGHT2,
- help: 'enable version 2 of semantic highlight',
- defaultsTo: false,
- negatable: false);
parser.addOption(FILE_READ_MODE,
help: 'an option for reading files (some clients normalize eol '
'characters, which make the file offset and range information '
@@ -820,6 +810,8 @@
parser.addFlag('enable-instrumentation', hide: true);
// Removed 11/8/2020.
parser.addFlag('preview-dart-2', hide: true);
+ // Removed 11/11/2020.
+ parser.addFlag('useAnalysisHighlight2', hide: true);
// Removed 9/23/2020.
parser.addFlag('use-fasta-parser', hide: true);
diff --git a/pkg/analysis_server/test/analysis/notification_highlights2_test.dart b/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
index 411e163..8d9c2bb 100644
--- a/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
@@ -1142,7 +1142,6 @@
@override
void setUp() {
super.setUp();
- server.options.useAnalysisHighlight2 = true;
createProject();
}
diff --git a/pkg/analysis_server/test/analysis/notification_highlights_test.dart b/pkg/analysis_server/test/analysis/notification_highlights_test.dart
deleted file mode 100644
index 9432795..0000000
--- a/pkg/analysis_server/test/analysis/notification_highlights_test.dart
+++ /dev/null
@@ -1,1194 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'dart:async';
-
-import 'package:analysis_server/protocol/protocol.dart';
-import 'package:analysis_server/protocol/protocol_constants.dart';
-import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analyzer_plugin/protocol/protocol_common.dart';
-import 'package:test/test.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-import '../analysis_abstract.dart';
-
-void main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(AnalysisNotificationHighlightsTest);
- defineReflectiveTests(HighlightsWithControlFlowCollectionsTest);
- defineReflectiveTests(HighlightsWithNullSafetyTest);
- defineReflectiveTests(HighlightTypeTest);
- });
-}
-
-@reflectiveTest
-class AnalysisNotificationHighlightsTest extends HighlightsTestSupport {
- Future<void> test_ANNOTATION_hasArguments() async {
- addTestFile('''
-class AAA {
- const AAA(a, b, c);
-}
-@AAA(1, 2, 3) main() {}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA(', '@AAA('.length);
- assertHasRegion(HighlightRegionType.ANNOTATION, ') main', ')'.length);
- }
-
- Future<void> test_ANNOTATION_noArguments() async {
- addTestFile('''
-const AAA = 42;
-@AAA main() {}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA');
- }
-
- Future<void> test_BUILT_IN_abstract() async {
- addTestFile('''
-abstract class A {};
-abstract class B = Object with A;
-main() {
- var abstract = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class A');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class B');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'abstract = 42');
- }
-
- Future<void> test_BUILT_IN_as() async {
- addTestFile('''
-import 'dart:math' as math;
-main() {
- p as int;
- var as = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'as math');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'as int');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'as = 42');
- }
-
- Future<void> test_BUILT_IN_async() async {
- addTestFile('''
-fa() async {}
-fb() async* {}
-main() {
- bool async = false;
-}
-''');
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async');
- assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async*');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'async = false');
- }
-
- Future<void> test_BUILT_IN_await() async {
- addTestFile('''
-main() async {
- await 42;
- await for (var item in []) {
- print(item);
- }
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'await 42');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'await for');
- }
-
- Future<void> test_BUILT_IN_deferred() async {
- addTestFile('''
-import 'dart:math' deferred as math;
-main() {
- var deferred = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'deferred as math');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'deferred = 42');
- }
-
- Future<void> test_BUILT_IN_export() async {
- addTestFile('''
-export "dart:math";
-main() {
- var export = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'export "dart:');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'export = 42');
- }
-
- Future<void> test_BUILT_IN_external() async {
- addTestFile('''
-class A {
- external A();
- external aaa();
-}
-external main() {
- var external = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'external A()');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'external aaa()');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'external main()');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'external = 42');
- }
-
- Future<void> test_BUILT_IN_factory() async {
- addTestFile('''
-class A {
- A.named();
- factory A() => A();
-}
-main() {
- var factory = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'factory A()');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'factory = 42');
- }
-
- Future<void> test_BUILT_IN_get() async {
- addTestFile('''
-get aaa => 1;
-class A {
- get bbb => 2;
-}
-main() {
- var get = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'get aaa =>');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'get bbb =>');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'get = 42');
- }
-
- Future<void> test_BUILT_IN_hide() async {
- addTestFile('''
-import 'foo.dart' hide Foo;
-main() {
- var hide = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'hide Foo');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'hide = 42');
- }
-
- Future<void> test_BUILT_IN_implements() async {
- addTestFile('''
-class A {}
-class B implements A {}
-main() {
- var implements = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'implements A {}');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'implements = 42');
- }
-
- Future<void> test_BUILT_IN_import() async {
- addTestFile('''
-import "foo.dart";
-main() {
- var import = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'import "');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'import = 42');
- }
-
- Future<void> test_BUILT_IN_library() async {
- addTestFile('''
-library lib;
-main() {
- var library = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'library lib;');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'library = 42');
- }
-
- Future<void> test_BUILT_IN_native() async {
- addTestFile('''
-class A native "A_native" {}
-class B {
- bbb() native "bbb_native";
-}
-main() {
- var native = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'native "A_');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'native "bbb_');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'native = 42');
- }
-
- Future<void> test_BUILT_IN_on_inMixin() async {
- addTestFile('''
-mixin M on N {}
-class N {}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'on N');
- }
-
- Future<void> test_BUILT_IN_on_inTry() async {
- addTestFile('''
-main() {
- try {
- } on int catch (e) {
- }
- var on = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'on int');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'on = 42');
- }
-
- Future<void> test_BUILT_IN_operator() async {
- addTestFile('''
-class A {
- operator +(x) => null;
-}
-main() {
- var operator = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'operator +(');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'operator = 42');
- }
-
- Future<void> test_BUILT_IN_part() async {
- addTestFile('''
-part "my_part.dart";
-main() {
- var part = 42;
-}''');
- newFile('/project/bin/my_part.dart', content: 'part of lib;');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'part "my_');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 42');
- }
-
- Future<void> test_BUILT_IN_partOf() async {
- addTestFile('''
-part of lib;
-main() {
- var part = 1;
- var of = 2;
-}''');
- _addLibraryForTestPart();
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'part of', 'part of'.length);
- assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 1');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'of = 2');
- }
-
- Future<void> test_BUILT_IN_set() async {
- addTestFile('''
-set aaa(x) {}
-class A
- set bbb(x) {}
-}
-main() {
- var set = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'set aaa(');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'set bbb(');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'set = 42');
- }
-
- Future<void> test_BUILT_IN_show() async {
- addTestFile('''
-import 'foo.dart' show Foo;
-main() {
- var show = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'show Foo');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'show = 42');
- }
-
- Future<void> test_BUILT_IN_static() async {
- addTestFile('''
-class A {
- static aaa;
- static bbb() {}
-}
-main() {
- var static = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'static aaa;');
- assertHasRegion(HighlightRegionType.BUILT_IN, 'static bbb()');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'static = 42');
- }
-
- Future<void> test_BUILT_IN_sync() async {
- addTestFile('''
-fa() sync {}
-fb() sync* {}
-main() {
- bool sync = false;
-}
-''');
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync');
- assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync*');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'sync = false');
- }
-
- Future<void> test_BUILT_IN_typedef() async {
- addTestFile('''
-typedef A();
-main() {
- var typedef = 42;
-}''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'typedef A();');
- assertNoRegion(HighlightRegionType.BUILT_IN, 'typedef = 42');
- }
-
- Future<void> test_BUILT_IN_yield() async {
- addTestFile('''
-main() async* {
- yield 42;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'yield 42');
- }
-
- Future<void> test_BUILT_IN_yieldStar() async {
- addTestFile('''
-main() async* {
- yield* [];
-}
-''');
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.BUILT_IN, 'yield*');
- }
-
- Future<void> test_CLASS() async {
- addTestFile('''
-class AAA {}
-AAA aaa;
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.CLASS, 'AAA {}');
- assertHasRegion(HighlightRegionType.CLASS, 'AAA aaa');
- }
-
- Future<void> test_CLASS_notDynamic() async {
- addTestFile('''
-dynamic f() {}
-''');
- await prepareHighlights();
- assertNoRegion(HighlightRegionType.CLASS, 'dynamic f()');
- }
-
- Future<void> test_CLASS_notVoid() async {
- addTestFile('''
-void f() {}
-''');
- await prepareHighlights();
- assertNoRegion(HighlightRegionType.CLASS, 'void f()');
- }
-
- Future<void> test_COMMENT() async {
- addTestFile('''
-/**
- * documentation comment
- */
-void main() {
- // end-of-line comment
- my_function(1);
-}
-
-void my_function(String a) {
- /* block comment */
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.COMMENT_DOCUMENTATION, '/**', 32);
- assertHasRegion(HighlightRegionType.COMMENT_END_OF_LINE, '//', 22);
- assertHasRegion(HighlightRegionType.COMMENT_BLOCK, '/* b', 19);
- }
-
- Future<void> test_CONSTRUCTOR_explicitNew() async {
- addTestFile('''
-class AAA<T> {
- AAA() {}
- AAA.name(p) {}
-}
-main() {
- new AAA<int>();
- new AAA<int>.name(42);
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'AAA<int>(');
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'AAA<int>.name(');
- assertHasRegion(HighlightRegionType.CLASS, 'int>(');
- assertHasRegion(HighlightRegionType.CLASS, 'int>.name(');
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(p)');
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(42)');
- }
-
- Future<void> test_CONSTRUCTOR_implicitNew() async {
- addTestFile('''
-class AAA<T> {
- AAA() {}
- AAA.name(p) {}
-}
-main() {
- AAA<int>();
- AAA<int>.name(42);
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'AAA<int>(');
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'AAA<int>.name(');
- assertHasRegion(HighlightRegionType.CLASS, 'int>(');
- assertHasRegion(HighlightRegionType.CLASS, 'int>.name(');
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(p)');
- assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(42)');
- }
-
- Future<void> test_DIRECTIVE() async {
- addTestFile('''
-library lib;
-import 'dart:math';
-export 'dart:math';
-part 'part.dart';
-''');
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.DIRECTIVE, 'library lib;');
- assertHasStringRegion(HighlightRegionType.DIRECTIVE, "import 'dart:math';");
- assertHasStringRegion(HighlightRegionType.DIRECTIVE, "export 'dart:math';");
- assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part 'part.dart';");
- }
-
- Future<void> test_DIRECTIVE_partOf() async {
- addTestFile('''
-part of lib;
-''');
- _addLibraryForTestPart();
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.DIRECTIVE, 'part of lib;');
- }
-
- Future<void> test_DYNAMIC_TYPE() async {
- addTestFile('''
-f() {}
-main(p) {
- print(p);
- var v1 = f();
- int v2;
- var v3 = v2;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'p)');
- assertHasRegion(HighlightRegionType.DYNAMIC_TYPE, 'v1 =');
- assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v2;');
- assertNoRegion(HighlightRegionType.DYNAMIC_TYPE, 'v3 =');
- }
-
- Future<void> test_ENUM() async {
- addTestFile('''
-enum MyEnum {A, B, C}
-MyEnum value;
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {');
- assertHasRegion(HighlightRegionType.ENUM, 'MyEnum value;');
- }
-
- Future<void> test_ENUM_CONSTANT() async {
- addTestFile('''
-enum MyEnum {AAA, BBB}
-main() {
- print(MyEnum.AAA);
- print(MyEnum.BBB);
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, ');
- assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}');
- assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);');
- assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);');
- }
-
- Future<void> test_FIELD() async {
- addTestFile('''
-class A {
- int aaa = 1;
- int bbb = 2;
- A([this.bbb = 3]);
-}
-main(A a) {
- a.aaa = 4;
- a.bbb = 5;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.FIELD, 'aaa = 1');
- assertHasRegion(HighlightRegionType.FIELD, 'bbb = 2');
- assertHasRegion(HighlightRegionType.FIELD, 'bbb = 3');
- assertHasRegion(HighlightRegionType.FIELD, 'aaa = 4');
- assertHasRegion(HighlightRegionType.FIELD, 'bbb = 5');
- }
-
- Future<void> test_FIELD_STATIC() async {
- addTestFile('''
-class A {
- static aaa = 1;
- static get bbb => null;
- static set ccc(x) {}
-}
-main() {
- A.aaa = 2;
- A.bbb;
- A.ccc = 3;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.FIELD_STATIC, 'aaa = 1');
- assertHasRegion(HighlightRegionType.FIELD_STATIC, 'aaa = 2');
- assertHasRegion(HighlightRegionType.FIELD_STATIC, 'bbb;');
- assertHasRegion(HighlightRegionType.FIELD_STATIC, 'ccc = 3');
- }
-
- Future<void> test_FUNCTION() async {
- addTestFile('''
-fff(p) {}
-main() {
- fff(42);
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.FUNCTION_DECLARATION, 'fff(p) {}');
- assertHasRegion(HighlightRegionType.FUNCTION, 'fff(42)');
- }
-
- Future<void> test_FUNCTION_TYPE_ALIAS() async {
- addTestFile('''
-typedef FFF(p);
-main(FFF fff) {
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)');
- assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)');
- }
-
- Future<void> test_GETTER_DECLARATION() async {
- addTestFile('''
-get aaa => null;
-class A {
- get bbb => null;
-}
-main(A a) {
- aaa;
- a.bbb;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'aaa => null');
- assertHasRegion(HighlightRegionType.GETTER_DECLARATION, 'bbb => null');
- assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa;');
- assertHasRegion(HighlightRegionType.FIELD, 'bbb;');
- }
-
- Future<void> test_IDENTIFIER_DEFAULT() async {
- addTestFile('''
-main() {
- aaa = 42;
- bbb(84);
- CCC ccc;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'aaa = 42');
- assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'bbb(84)');
- assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'CCC ccc');
- }
-
- Future<void> test_IMPORT_PREFIX() async {
- addTestFile('''
-import 'dart:math' as ma;
-main() {
- ma.max(1, 2);
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;');
- assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max');
- }
-
- Future<void> test_KEYWORD() async {
- addTestFile('''
-main() {
- assert(true);
- for (;;) break;
- switch (0) {
- case 0: break;
- default: break;
- }
- try {} catch (e) {}
- const v1 = 0;
- for (;;) continue;
- do {} while (true);
- if (true) {} else {}
- var v2 = false;
- final v3 = 1;
- try {} finally {}
- for (var v4 in []) {}
- v3 is int;
- new A();
- try {} catch (e) {rethrow;}
- var v5 = true;
- while (true) {}
-}
-class A {}
-class B extends A {
- B() : super();
- m() {
- return this;
- }
-}
-class C = Object with A;
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'assert(true)');
- assertHasRegion(HighlightRegionType.KEYWORD, 'for (;;)');
- assertHasRegion(HighlightRegionType.KEYWORD, 'for (var v4 in');
- assertHasRegion(HighlightRegionType.KEYWORD, 'break;');
- assertHasRegion(HighlightRegionType.KEYWORD, 'case 0:');
- assertHasRegion(HighlightRegionType.KEYWORD, 'catch (e) {}');
- assertHasRegion(HighlightRegionType.KEYWORD, 'class A {}');
- assertHasRegion(HighlightRegionType.KEYWORD, 'const v1');
- assertHasRegion(HighlightRegionType.KEYWORD, 'continue;');
- assertHasRegion(HighlightRegionType.KEYWORD, 'default:');
- assertHasRegion(HighlightRegionType.KEYWORD, 'do {} while');
- assertHasRegion(HighlightRegionType.KEYWORD, 'if (true)');
- assertHasRegion(HighlightRegionType.KEYWORD, 'false;');
- assertHasRegion(HighlightRegionType.KEYWORD, 'final v3 =');
- assertHasRegion(HighlightRegionType.KEYWORD, 'finally {}');
- assertHasRegion(HighlightRegionType.KEYWORD, 'in []');
- assertHasRegion(HighlightRegionType.KEYWORD, 'is int');
- assertHasRegion(HighlightRegionType.KEYWORD, 'new A();');
- assertHasRegion(HighlightRegionType.KEYWORD, 'rethrow;');
- assertHasRegion(HighlightRegionType.KEYWORD, 'return this');
- assertHasRegion(HighlightRegionType.KEYWORD, 'super();');
- assertHasRegion(HighlightRegionType.KEYWORD, 'switch (0)');
- assertHasRegion(HighlightRegionType.KEYWORD, 'this;');
- assertHasRegion(HighlightRegionType.KEYWORD, 'true;');
- assertHasRegion(HighlightRegionType.KEYWORD, 'try {');
- assertHasRegion(HighlightRegionType.KEYWORD, 'while (true) {}');
- assertHasRegion(HighlightRegionType.KEYWORD, 'while (true);');
- assertHasRegion(HighlightRegionType.KEYWORD, 'with A;');
- }
-
- Future<void> test_KEYWORD_ifElse_statement() async {
- addTestFile('''
-f(a, b) {
- if (a < b) {} else {}
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'if');
- assertHasRegion(HighlightRegionType.KEYWORD, 'else');
- }
-
- Future<void> test_KEYWORD_mixin() async {
- addTestFile('''
-mixin M {}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.BUILT_IN, 'mixin');
- }
-
- Future<void> test_KEYWORD_void() async {
- addTestFile('''
-void main() {
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'void main()');
- }
-
- Future<void> test_LABEL() async {
- addTestFile('''
-main() {
-myLabel:
- while (true) {
- break myLabel;
- }
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.LABEL, 'myLabel:');
- assertHasRegion(HighlightRegionType.LABEL, 'myLabel;');
- }
-
- Future<void> test_LITERAL_BOOLEAN() async {
- addTestFile('var V = true;');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.LITERAL_BOOLEAN, 'true;');
- }
-
- Future<void> test_LITERAL_DOUBLE() async {
- addTestFile('var V = 4.2;');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.LITERAL_DOUBLE, '4.2;', '4.2'.length);
- }
-
- Future<void> test_LITERAL_INTEGER() async {
- addTestFile('var V = 42;');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.LITERAL_INTEGER, '42;');
- }
-
- Future<void> test_LITERAL_LIST() async {
- addTestFile('var V = <int>[1, 2, 3];');
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.LITERAL_LIST, '<int>[1, 2, 3]');
- }
-
- Future<void> test_LITERAL_MAP() async {
- addTestFile("var V = const <int, String>{1: 'a', 2: 'b', 3: 'c'};");
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.LITERAL_MAP,
- "const <int, String>{1: 'a', 2: 'b', 3: 'c'}");
- }
-
- Future<void> test_LITERAL_STRING() async {
- addTestFile('var V = "abc";');
- await prepareHighlights();
- assertHasRegion(
- HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length);
- }
-
- Future<void> test_LOCAL_VARIABLE() async {
- addTestFile('''
-main() {
- int vvv = 0;
- vvv;
- vvv = 1;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0');
- assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv;');
- assertHasRegion(HighlightRegionType.LOCAL_VARIABLE, 'vvv = 1;');
- }
-
- Future<void> test_METHOD() async {
- addTestFile('''
-class A {
- aaa() {}
- static bbb() {}
-}
-main(A a) {
- a.aaa();
- a.aaa;
- A.bbb();
- A.bbb;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.METHOD_DECLARATION, 'aaa() {}');
- assertHasRegion(HighlightRegionType.METHOD_DECLARATION_STATIC, 'bbb() {}');
- assertHasRegion(HighlightRegionType.METHOD, 'aaa();');
- assertHasRegion(HighlightRegionType.METHOD, 'aaa;');
- assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb();');
- assertHasRegion(HighlightRegionType.METHOD_STATIC, 'bbb;');
- }
-
- Future<void> test_METHOD_bestType() async {
- addTestFile('''
-main(p) {
- if (p is List) {
- p.add(null);
- }
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.METHOD, 'add(null)');
- }
-
- Future<void> test_PARAMETER() async {
- addTestFile('''
-main(int p) {
- p;
- p = 42;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.PARAMETER, 'p) {');
- assertHasRegion(HighlightRegionType.PARAMETER, 'p;');
- assertHasRegion(HighlightRegionType.PARAMETER, 'p = 42');
- }
-
- Future<void> test_SETTER_DECLARATION() async {
- addTestFile('''
-set aaa(x) {}
-class A {
- set bbb(x) {}
-}
-main(A a) {
- aaa = 1;
- a.bbb = 2;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'aaa(x)');
- assertHasRegion(HighlightRegionType.SETTER_DECLARATION, 'bbb(x)');
- assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'aaa = 1');
- assertHasRegion(HighlightRegionType.FIELD, 'bbb = 2');
- }
-
- Future<void> test_TOP_LEVEL_VARIABLE() async {
- addTestFile('''
-const VVV = 0;
-@VVV // annotation
-main() {
- print(VVV);
- VVV = 1;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 0');
- assertHasRegion(
- HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV // annotation');
- assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV);');
- assertHasRegion(HighlightRegionType.TOP_LEVEL_VARIABLE, 'VVV = 1');
- }
-
- Future<void> test_TYPE_NAME_DYNAMIC() async {
- addTestFile('''
-dynamic main() {
- dynamic = 42;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic main()');
- assertNoRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'dynamic main()');
- assertNoRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic = 42');
- }
-
- Future<void> test_TYPE_PARAMETER() async {
- addTestFile('''
-class A<T> {
- T fff;
- T mmm(T p) => null;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T> {');
- assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T fff;');
- assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T mmm(');
- assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T p)');
- }
-}
-
-class HighlightsTestSupport extends AbstractAnalysisTest {
- List<HighlightRegion> regions;
-
- final Completer<void> _resultsAvailable = Completer();
-
- void assertHasRawRegion(HighlightRegionType type, int offset, int length) {
- for (var region in regions) {
- if (region.offset == offset &&
- region.length == length &&
- region.type == type) {
- return;
- }
- }
- fail('Expected to find (offset=$offset; length=$length; type=$type) in\n'
- '${regions.join('\n')}');
- }
-
- void assertHasRegion(HighlightRegionType type, String search,
- [int length = -1]) {
- var offset = findOffset(search);
- length = findRegionLength(search, length);
- assertHasRawRegion(type, offset, length);
- }
-
- void assertHasStringRegion(HighlightRegionType type, String str) {
- var offset = findOffset(str);
- var length = str.length;
- assertHasRawRegion(type, offset, length);
- }
-
- void assertNoRawRegion(HighlightRegionType type, int offset, int length) {
- for (var region in regions) {
- if (region.offset == offset &&
- region.length == length &&
- region.type == type) {
- fail(
- 'Not expected to find (offset=$offset; length=$length; type=$type) in\n'
- '${regions.join('\n')}');
- }
- }
- }
-
- void assertNoRegion(HighlightRegionType type, String search,
- [int length = -1]) {
- var offset = findOffset(search);
- length = findRegionLength(search, length);
- assertNoRawRegion(type, offset, length);
- }
-
- int findRegionLength(String search, int length) {
- if (length == -1) {
- length = 0;
- while (length < search.length) {
- var c = search.codeUnitAt(length);
- if (length == 0 && c == '@'.codeUnitAt(0)) {
- length++;
- continue;
- }
- if (!(c >= 'a'.codeUnitAt(0) && c <= 'z'.codeUnitAt(0) ||
- c >= 'A'.codeUnitAt(0) && c <= 'Z'.codeUnitAt(0) ||
- c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0))) {
- break;
- }
- length++;
- }
- }
- return length;
- }
-
- Future prepareHighlights() {
- addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile);
- return _resultsAvailable.future;
- }
-
- @override
- void processNotification(Notification notification) {
- if (notification.event == SERVER_NOTIFICATION_ERROR) {
- print('SERVER_NOTIFICATION_ERROR: ${notification.toJson()}');
- _resultsAvailable.complete();
- fail('SERVER_NOTIFICATION_ERROR');
- }
- if (notification.event == ANALYSIS_NOTIFICATION_HIGHLIGHTS) {
- var params = AnalysisHighlightsParams.fromNotification(notification);
- if (params.file == testFile) {
- regions = params.regions;
- _resultsAvailable.complete();
- }
- }
- }
-
- @override
- void setUp() {
- super.setUp();
- createProject();
- }
-
- void _addLibraryForTestPart() {
- newFile(join(testFolder, 'my_lib.dart'), content: '''
-library lib;
-part 'test.dart';
- ''');
- }
-}
-
-@reflectiveTest
-class HighlightsWithControlFlowCollectionsTest extends HighlightsTestSupport {
- @failingTest
- Future<void> test_KEYWORD_awaitForIn_list() async {
- addTestFile('''
-f(a) async {
- return [await for(var b in a) b];
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'await');
- assertHasRegion(HighlightRegionType.KEYWORD, 'for');
- assertHasRegion(HighlightRegionType.KEYWORD, 'in');
- }
-
- @failingTest
- Future<void> test_KEYWORD_awaitForIn_map() async {
- addTestFile('''
-f(a) async {
- return {await for(var b in a) b : 0};
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'await');
- assertHasRegion(HighlightRegionType.KEYWORD, 'for');
- assertHasRegion(HighlightRegionType.KEYWORD, 'in');
- }
-
- @failingTest
- Future<void> test_KEYWORD_awaitForIn_set() async {
- addTestFile('''
-f(a) async {
- return {await for(var b in a) b};
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'await');
- assertHasRegion(HighlightRegionType.KEYWORD, 'for');
- assertHasRegion(HighlightRegionType.KEYWORD, 'in');
- }
-
- Future<void> test_KEYWORD_const_list() async {
- addTestFile('''
-var v = const [];
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'const');
- }
-
- Future<void> test_KEYWORD_const_map() async {
- addTestFile('''
-var v = const {0 : 1};
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'const');
- }
-
- Future<void> test_KEYWORD_const_set() async {
- addTestFile('''
-var v = const {0};
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'const');
- }
-
- Future<void> test_KEYWORD_if_list() async {
- addTestFile('''
-f(a, b) {
- return [if (a < b) 'a'];
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'if');
- }
-
- Future<void> test_KEYWORD_if_map() async {
- addTestFile('''
-f(a, b) {
- return {if (a < b) 'a' : 1};
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'if');
- }
-
- Future<void> test_KEYWORD_if_set() async {
- addTestFile('''
-f(a, b) {
- return {if (a < b) 'a'};
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'if');
- }
-
- Future<void> test_KEYWORD_ifElse_list() async {
- addTestFile('''
-f(a, b) {
- return [if (a < b) 'a' else 'b'];
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'if');
- assertHasRegion(HighlightRegionType.KEYWORD, 'else');
- }
-
- Future<void> test_KEYWORD_ifElse_map() async {
- addTestFile('''
-f(a, b) {
- return {if (a < b) 'a' : 1 else 'b' : 2};
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'if');
- assertHasRegion(HighlightRegionType.KEYWORD, 'else');
- }
-
- Future<void> test_KEYWORD_ifElse_set() async {
- addTestFile('''
-f(a, b) {
- return {if (a < b) 'a' else 'b'};
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'if');
- assertHasRegion(HighlightRegionType.KEYWORD, 'else');
- }
-
- Future<void> test_LITERAL_LIST_withControlFlow() async {
- addTestFile('var V = <int>[1, 2, 3];');
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.LITERAL_LIST, '<int>[1, 2, 3]');
- }
-
- Future<void> test_LITERAL_MAP_withControlFlow() async {
- addTestFile("var V = const <int, String>{1: 'a', 2: 'b', 3: 'c'};");
- await prepareHighlights();
- assertHasStringRegion(HighlightRegionType.LITERAL_MAP,
- "const <int, String>{1: 'a', 2: 'b', 3: 'c'}");
- }
-}
-
-@reflectiveTest
-class HighlightsWithNullSafetyTest extends HighlightsTestSupport {
- @override
- void createProject({Map<String, String> packageRoots}) {
- addAnalysisOptionsFile('''
-analyzer:
- enable-experiment:
- - non-nullable
-''');
- super.createProject(packageRoots: packageRoots);
- }
-
- Future<void> test_KEYWORD_late() async {
- addTestFile('''
-class C {
- late int x;
-}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'late');
- }
-
- Future<void> test_KEYWORD_required() async {
- addTestFile('''
-void f({required int x}) {}
-''');
- await prepareHighlights();
- assertHasRegion(HighlightRegionType.KEYWORD, 'required');
- }
-}
-
-@reflectiveTest
-class HighlightTypeTest {
- void test_constructor() {
- expect(HighlightRegionType.CLASS,
- HighlightRegionType(HighlightRegionType.CLASS.name));
- }
-
- void test_toString() {
- expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS');
- }
-
- void test_valueOf_unknown() {
- expect(() {
- HighlightRegionType('no-such-type');
- }, throwsException);
- }
-}
diff --git a/pkg/analysis_server/test/analysis/test_all.dart b/pkg/analysis_server/test/analysis/test_all.dart
index 702a96c..1187065 100644
--- a/pkg/analysis_server/test/analysis/test_all.dart
+++ b/pkg/analysis_server/test/analysis/test_all.dart
@@ -15,7 +15,6 @@
import 'notification_errors_test.dart' as notification_errors;
import 'notification_folding_test.dart' as notification_folding;
import 'notification_highlights2_test.dart' as notification_highlights2;
-import 'notification_highlights_test.dart' as notification_highlights;
import 'notification_implemented_test.dart' as notification_implemented;
import 'notification_navigation_test.dart' as notification_navigation;
import 'notification_occurrences_test.dart' as notification_occurrences;
@@ -37,7 +36,6 @@
notification_folding.main();
notification_errors.main();
notification_highlights2.main();
- notification_highlights.main();
notification_implemented.main();
notification_navigation.main();
notification_occurrences.main();
diff --git a/pkg/analysis_server/test/integration/analysis/highlights2_test.dart b/pkg/analysis_server/test/integration/analysis/highlights2_test.dart
deleted file mode 100644
index 9dfcaf7..0000000
--- a/pkg/analysis_server/test/integration/analysis/highlights2_test.dart
+++ /dev/null
@@ -1,179 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analyzer_plugin/protocol/protocol_common.dart';
-import 'package:test/test.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-import '../support/integration_tests.dart';
-
-void main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(AnalysisHighlightsTest);
- });
-}
-
-@reflectiveTest
-class AnalysisHighlightsTest extends AbstractAnalysisServerIntegrationTest {
- Map<HighlightRegionType, Set<String>> highlights;
-
- void check(HighlightRegionType type, List<String> expected) {
- expect(highlights[type], equals(expected.toSet()));
- highlights.remove(type);
- }
-
- Future<void> computeHighlights(String pathname, String text) async {
- writeFile(pathname, text);
- standardAnalysisSetup();
- sendAnalysisSetSubscriptions({
- AnalysisService.HIGHLIGHTS: [pathname]
- });
- // Map from highlight type to highlighted text
- onAnalysisHighlights.listen((AnalysisHighlightsParams params) {
- expect(params.file, equals(pathname));
- highlights = <HighlightRegionType, Set<String>>{};
- for (var region in params.regions) {
- var startIndex = region.offset;
- var endIndex = startIndex + region.length;
- var highlightedText = text.substring(startIndex, endIndex);
- var type = region.type;
- if (!highlights.containsKey(type)) {
- highlights[type] = <String>{};
- }
- highlights[type].add(highlightedText);
- }
- });
- await analysisFinished;
- }
-
- @override
- Future startServer({
- int diagnosticPort,
- int servicesPort,
- }) {
- return server.start(
- diagnosticPort: diagnosticPort,
- servicesPort: servicesPort,
- useAnalysisHighlight2: true);
- }
-
- Future<void> test_highlights() async {
- var pathname = sourcePath('test.dart');
- var text = r'''
-import 'dart:async' as async;
-
-/**
- * Doc comment
- */
-class Class<TypeParameter> {
- Class() {
- field = {1.0: [].toList()};
- }
-
- Class.constructor() {
- dynamic local = true;
- field = {2: local};
- }
-
- Map field = {3: 4};
- static int staticField = 0;
-
- method() {
- // End of line comment
- /* Block comment */
- }
-
- static staticMethod() {
- }
-
- get getter {
- }
-
- set setter(int parameter) {
- print(parameter);
- }
-}
-
-class Class2<TypeParameter> extends Class<TypeParameter> {
- @override
- method() {
- }
-}
-
-typedef functionType();
-
-function(dynamicType) {
- print('string');
- unresolvedIdentifier = 42;
- return async.Future.wait([]);
-}
-
-int topLevelVariable = 0;
-''';
- await computeHighlights(pathname, text);
- // There should be 1 error due to the fact that unresolvedIdentifier is
- // unresolved.
- expect(currentAnalysisErrors[pathname], hasLength(1));
-
- check(HighlightRegionType.ANNOTATION, ['@override']);
- check(HighlightRegionType.BUILT_IN,
- ['as', 'get', 'import', 'set', 'static', 'typedef']);
- check(
- HighlightRegionType.CLASS, ['Class', 'Class2', 'Future', 'Map', 'int']);
- check(HighlightRegionType.COMMENT_BLOCK, ['/* Block comment */']);
- check(HighlightRegionType.COMMENT_DOCUMENTATION,
- ['/**\n * Doc comment\n */']);
- check(HighlightRegionType.COMMENT_END_OF_LINE, ['// End of line comment']);
- check(HighlightRegionType.CONSTRUCTOR, ['constructor']);
- check(HighlightRegionType.DIRECTIVE, ["import 'dart:async' as async;"]);
- check(HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION, ['dynamicType']);
- check(HighlightRegionType.INSTANCE_FIELD_DECLARATION, ['field']);
- check(HighlightRegionType.INSTANCE_SETTER_REFERENCE, ['field']);
- check(HighlightRegionType.STATIC_FIELD_DECLARATION, ['staticField']);
- check(HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, ['print']);
- check(HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, ['function']);
- check(HighlightRegionType.FUNCTION_TYPE_ALIAS, ['functionType']);
- check(HighlightRegionType.INSTANCE_GETTER_DECLARATION, ['getter']);
- check(HighlightRegionType.IDENTIFIER_DEFAULT, ['unresolvedIdentifier']);
- check(HighlightRegionType.IMPORT_PREFIX, ['async']);
- check(HighlightRegionType.KEYWORD, ['class', 'extends', 'true', 'return']);
- check(HighlightRegionType.LITERAL_BOOLEAN, ['true']);
- check(HighlightRegionType.LITERAL_DOUBLE, ['1.0']);
- check(HighlightRegionType.LITERAL_INTEGER, ['2', '3', '4', '0', '42']);
- check(HighlightRegionType.LITERAL_LIST, ['[]']);
- check(HighlightRegionType.LITERAL_MAP,
- ['{1.0: [].toList()}', '{2: local}', '{3: 4}']);
- check(HighlightRegionType.LITERAL_STRING, ["'dart:async'", "'string'"]);
- check(HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_DECLARATION, ['local']);
- check(HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_REFERENCE, ['local']);
- check(HighlightRegionType.INSTANCE_METHOD_REFERENCE, ['toList']);
- check(HighlightRegionType.INSTANCE_METHOD_DECLARATION, ['method']);
- check(HighlightRegionType.STATIC_METHOD_DECLARATION, ['staticMethod']);
- check(HighlightRegionType.STATIC_METHOD_REFERENCE, ['wait']);
- check(HighlightRegionType.PARAMETER_DECLARATION, ['parameter']);
- check(HighlightRegionType.PARAMETER_REFERENCE, ['parameter']);
- check(HighlightRegionType.INSTANCE_SETTER_DECLARATION, ['setter']);
- check(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, ['override']);
- check(HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION,
- ['topLevelVariable']);
- check(HighlightRegionType.TYPE_NAME_DYNAMIC, ['dynamic']);
- check(HighlightRegionType.TYPE_PARAMETER, ['TypeParameter']);
- expect(highlights, isEmpty);
- }
-
- Future<void> test_highlights_mixin() async {
- var pathname = sourcePath('test.dart');
- var text = r'''
-mixin M on A implements B {}
-class A {}
-class B {}
-''';
- await computeHighlights(pathname, text);
- expect(currentAnalysisErrors[pathname], hasLength(0));
-
- check(HighlightRegionType.BUILT_IN, ['implements', 'mixin', 'on']);
- check(HighlightRegionType.KEYWORD, ['class']);
- }
-}
diff --git a/pkg/analysis_server/test/integration/analysis/highlights_test.dart b/pkg/analysis_server/test/integration/analysis/highlights_test.dart
index 63f668b..9dfcaf7 100644
--- a/pkg/analysis_server/test/integration/analysis/highlights_test.dart
+++ b/pkg/analysis_server/test/integration/analysis/highlights_test.dart
@@ -48,6 +48,17 @@
await analysisFinished;
}
+ @override
+ Future startServer({
+ int diagnosticPort,
+ int servicesPort,
+ }) {
+ return server.start(
+ diagnosticPort: diagnosticPort,
+ servicesPort: servicesPort,
+ useAnalysisHighlight2: true);
+ }
+
Future<void> test_highlights() async {
var pathname = sourcePath('test.dart');
var text = r'''
@@ -81,6 +92,7 @@
}
set setter(int parameter) {
+ print(parameter);
}
}
@@ -116,13 +128,14 @@
check(HighlightRegionType.COMMENT_END_OF_LINE, ['// End of line comment']);
check(HighlightRegionType.CONSTRUCTOR, ['constructor']);
check(HighlightRegionType.DIRECTIVE, ["import 'dart:async' as async;"]);
- check(HighlightRegionType.DYNAMIC_TYPE, ['dynamicType', 'local']);
- check(HighlightRegionType.FIELD, ['field']);
- check(HighlightRegionType.FIELD_STATIC, ['staticField']);
- check(HighlightRegionType.FUNCTION, ['print']);
- check(HighlightRegionType.FUNCTION_DECLARATION, ['function']);
+ check(HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION, ['dynamicType']);
+ check(HighlightRegionType.INSTANCE_FIELD_DECLARATION, ['field']);
+ check(HighlightRegionType.INSTANCE_SETTER_REFERENCE, ['field']);
+ check(HighlightRegionType.STATIC_FIELD_DECLARATION, ['staticField']);
+ check(HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, ['print']);
+ check(HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, ['function']);
check(HighlightRegionType.FUNCTION_TYPE_ALIAS, ['functionType']);
- check(HighlightRegionType.GETTER_DECLARATION, ['getter']);
+ check(HighlightRegionType.INSTANCE_GETTER_DECLARATION, ['getter']);
check(HighlightRegionType.IDENTIFIER_DEFAULT, ['unresolvedIdentifier']);
check(HighlightRegionType.IMPORT_PREFIX, ['async']);
check(HighlightRegionType.KEYWORD, ['class', 'extends', 'true', 'return']);
@@ -133,16 +146,18 @@
check(HighlightRegionType.LITERAL_MAP,
['{1.0: [].toList()}', '{2: local}', '{3: 4}']);
check(HighlightRegionType.LITERAL_STRING, ["'dart:async'", "'string'"]);
- //check(HighlightRegionType.LOCAL_VARIABLE, ['local']);
- //check(HighlightRegionType.LOCAL_VARIABLE_DECLARATION, ['local']);
- check(HighlightRegionType.METHOD, ['toList']);
- check(HighlightRegionType.METHOD_DECLARATION, ['method']);
- check(HighlightRegionType.METHOD_DECLARATION_STATIC, ['staticMethod']);
- check(HighlightRegionType.METHOD_STATIC, ['wait']);
- check(HighlightRegionType.PARAMETER, ['parameter']);
- check(HighlightRegionType.SETTER_DECLARATION, ['setter']);
- check(HighlightRegionType.TOP_LEVEL_VARIABLE,
- ['override', 'topLevelVariable']);
+ check(HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_DECLARATION, ['local']);
+ check(HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_REFERENCE, ['local']);
+ check(HighlightRegionType.INSTANCE_METHOD_REFERENCE, ['toList']);
+ check(HighlightRegionType.INSTANCE_METHOD_DECLARATION, ['method']);
+ check(HighlightRegionType.STATIC_METHOD_DECLARATION, ['staticMethod']);
+ check(HighlightRegionType.STATIC_METHOD_REFERENCE, ['wait']);
+ check(HighlightRegionType.PARAMETER_DECLARATION, ['parameter']);
+ check(HighlightRegionType.PARAMETER_REFERENCE, ['parameter']);
+ check(HighlightRegionType.INSTANCE_SETTER_DECLARATION, ['setter']);
+ check(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, ['override']);
+ check(HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION,
+ ['topLevelVariable']);
check(HighlightRegionType.TYPE_NAME_DYNAMIC, ['dynamic']);
check(HighlightRegionType.TYPE_PARAMETER, ['TypeParameter']);
expect(highlights, isEmpty);
@@ -157,6 +172,7 @@
''';
await computeHighlights(pathname, text);
expect(currentAnalysisErrors[pathname], hasLength(0));
+
check(HighlightRegionType.BUILT_IN, ['implements', 'mixin', 'on']);
check(HighlightRegionType.KEYWORD, ['class']);
}
diff --git a/pkg/analysis_server/test/integration/analysis/test_all.dart b/pkg/analysis_server/test/integration/analysis/test_all.dart
index 2a760bf..2e463f0 100644
--- a/pkg/analysis_server/test/integration/analysis/test_all.dart
+++ b/pkg/analysis_server/test/integration/analysis/test_all.dart
@@ -13,7 +13,6 @@
import 'get_library_dependencies_test.dart' as get_library_dependencies_test;
import 'get_navigation_test.dart' as get_navigation_test;
import 'get_reachable_sources_test.dart' as get_reachable_sources_test;
-import 'highlights2_test.dart' as highlights2_test;
import 'highlights_test.dart' as highlights_test;
import 'hint_sdk_version_async_exported_from_core_test.dart'
as hint_sdk_version_async_exported_from_core_test;
@@ -44,7 +43,6 @@
get_imported_elements_test.main();
get_navigation_test.main();
get_reachable_sources_test.main();
- highlights2_test.main();
highlights_test.main();
hint_sdk_version_async_exported_from_core_test.main();
lint_test.main();
diff --git a/pkg/analysis_server/test/src/computer/highlights_computer_test.dart b/pkg/analysis_server/test/src/computer/highlights_computer_test.dart
deleted file mode 100644
index b9d1af4..0000000
--- a/pkg/analysis_server/test/src/computer/highlights_computer_test.dart
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:analysis_server/src/computer/computer_highlights.dart';
-import 'package:analysis_server/src/protocol_server.dart';
-import 'package:test/test.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-import '../../abstract_context.dart';
-
-void main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(HighlightsComputerTest);
- });
-}
-
-@reflectiveTest
-class HighlightsComputerTest extends AbstractContextTest {
- String sourcePath;
- String content;
- List<HighlightRegion> highlights;
-
- @override
- void setUp() {
- super.setUp();
- sourcePath = convertPath('/home/test/lib/test.dart');
- }
-
- Future<void> test_comment() async {
- await _computeHighlights('''
-// A trailing comment
-''');
- _check(HighlightRegionType.COMMENT_END_OF_LINE, '// A trailing comment');
- }
-
- Future<void> test_comment_trailing() async {
- await _computeHighlights('''
-class A {}
-// A trailing comment
-''');
- _check(HighlightRegionType.COMMENT_END_OF_LINE, '// A trailing comment');
- }
-
- Future<void> test_extension() async {
- await _computeHighlights('''
-extension E on String {}
-''');
- _check(HighlightRegionType.KEYWORD, 'extension');
- _check(HighlightRegionType.BUILT_IN, 'on');
- }
-
- Future<void> test_methodInvocation_ofExtensionOverride_unresolved() async {
- await _computeHighlights('''
-extension E on int {}
-
-main() {
- E(0).foo();
-}
-''', hasErrors: true);
- _check(HighlightRegionType.IDENTIFIER_DEFAULT, 'foo');
- }
-
- void _check(HighlightRegionType expectedType, String expectedText) {
- for (var region in highlights) {
- if (region.type == expectedType) {
- var startIndex = region.offset;
- var endIndex = startIndex + region.length;
- var highlightedText = content.substring(startIndex, endIndex);
- if (highlightedText == expectedText) {
- return;
- }
- }
- }
- fail('Expected region of type $expectedType with text "$expectedText"');
- }
-
- Future<void> _computeHighlights(
- String content, {
- bool hasErrors = false,
- }) async {
- this.content = content;
- newFile(sourcePath, content: content);
- var result = await session.getResolvedUnit(sourcePath);
-
- if (hasErrors) {
- expect(result.errors, isNotEmpty);
- } else {
- expect(result.errors, isEmpty);
- }
-
- var computer = DartUnitHighlightsComputer(result.unit);
- highlights = computer.compute();
- }
-}
diff --git a/pkg/analysis_server/test/src/computer/test_all.dart b/pkg/analysis_server/test/src/computer/test_all.dart
index 8d7653e..b35ad77 100644
--- a/pkg/analysis_server/test/src/computer/test_all.dart
+++ b/pkg/analysis_server/test/src/computer/test_all.dart
@@ -7,7 +7,6 @@
import 'closing_labels_computer_test.dart' as closing_labels_computer;
import 'folding_computer_test.dart' as folding_computer;
import 'highlights2_computer_test.dart' as highlights2_computer;
-import 'highlights_computer_test.dart' as highlights_computer;
import 'import_elements_computer_test.dart' as import_elements_computer;
import 'imported_elements_computer_test.dart' as imported_elements_computer;
import 'outline_computer_test.dart' as outline_computer;
@@ -17,7 +16,6 @@
closing_labels_computer.main();
folding_computer.main();
highlights2_computer.main();
- highlights_computer.main();
import_elements_computer.main();
imported_elements_computer.main();
outline_computer.main();
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java b/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
index 21d7fbc..2b1e1d2 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
@@ -32,28 +32,16 @@
public static final String DIRECTIVE = "DIRECTIVE";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String DYNAMIC_TYPE = "DYNAMIC_TYPE";
- /**
- * Only for version 2 of highlight.
- */
public static final String DYNAMIC_LOCAL_VARIABLE_DECLARATION = "DYNAMIC_LOCAL_VARIABLE_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String DYNAMIC_LOCAL_VARIABLE_REFERENCE = "DYNAMIC_LOCAL_VARIABLE_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String DYNAMIC_PARAMETER_DECLARATION = "DYNAMIC_PARAMETER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String DYNAMIC_PARAMETER_REFERENCE = "DYNAMIC_PARAMETER_REFERENCE";
public static final String ENUM = "ENUM";
@@ -61,29 +49,29 @@
public static final String ENUM_CONSTANT = "ENUM_CONSTANT";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String FIELD = "FIELD";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String FIELD_STATIC = "FIELD_STATIC";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String FUNCTION = "FUNCTION";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String FUNCTION_DECLARATION = "FUNCTION_DECLARATION";
public static final String FUNCTION_TYPE_ALIAS = "FUNCTION_TYPE_ALIAS";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String GETTER_DECLARATION = "GETTER_DECLARATION";
@@ -91,58 +79,28 @@
public static final String IMPORT_PREFIX = "IMPORT_PREFIX";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_FIELD_DECLARATION = "INSTANCE_FIELD_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_FIELD_REFERENCE = "INSTANCE_FIELD_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_GETTER_DECLARATION = "INSTANCE_GETTER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_GETTER_REFERENCE = "INSTANCE_GETTER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_METHOD_DECLARATION = "INSTANCE_METHOD_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_METHOD_REFERENCE = "INSTANCE_METHOD_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_SETTER_DECLARATION = "INSTANCE_SETTER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String INSTANCE_SETTER_REFERENCE = "INSTANCE_SETTER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String INVALID_STRING_ESCAPE = "INVALID_STRING_ESCAPE";
public static final String KEYWORD = "KEYWORD";
public static final String LABEL = "LABEL";
- /**
- * Only for version 2 of highlight.
- */
public static final String LIBRARY_NAME = "LIBRARY_NAME";
public static final String LITERAL_BOOLEAN = "LITERAL_BOOLEAN";
@@ -157,155 +115,92 @@
public static final String LITERAL_STRING = "LITERAL_STRING";
- /**
- * Only for version 2 of highlight.
- */
public static final String LOCAL_FUNCTION_DECLARATION = "LOCAL_FUNCTION_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String LOCAL_FUNCTION_REFERENCE = "LOCAL_FUNCTION_REFERENCE";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String LOCAL_VARIABLE = "LOCAL_VARIABLE";
public static final String LOCAL_VARIABLE_DECLARATION = "LOCAL_VARIABLE_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String LOCAL_VARIABLE_REFERENCE = "LOCAL_VARIABLE_REFERENCE";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String METHOD = "METHOD";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String METHOD_DECLARATION = "METHOD_DECLARATION";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String METHOD_DECLARATION_STATIC = "METHOD_DECLARATION_STATIC";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String METHOD_STATIC = "METHOD_STATIC";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String PARAMETER = "PARAMETER";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String SETTER_DECLARATION = "SETTER_DECLARATION";
/**
- * Only for version 1 of highlight.
+ * Deprecated - no longer sent.
*/
public static final String TOP_LEVEL_VARIABLE = "TOP_LEVEL_VARIABLE";
- /**
- * Only for version 2 of highlight.
- */
public static final String PARAMETER_DECLARATION = "PARAMETER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String PARAMETER_REFERENCE = "PARAMETER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String STATIC_FIELD_DECLARATION = "STATIC_FIELD_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String STATIC_GETTER_DECLARATION = "STATIC_GETTER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String STATIC_GETTER_REFERENCE = "STATIC_GETTER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String STATIC_METHOD_DECLARATION = "STATIC_METHOD_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String STATIC_METHOD_REFERENCE = "STATIC_METHOD_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String STATIC_SETTER_DECLARATION = "STATIC_SETTER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String STATIC_SETTER_REFERENCE = "STATIC_SETTER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String TOP_LEVEL_FUNCTION_DECLARATION = "TOP_LEVEL_FUNCTION_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String TOP_LEVEL_FUNCTION_REFERENCE = "TOP_LEVEL_FUNCTION_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String TOP_LEVEL_GETTER_DECLARATION = "TOP_LEVEL_GETTER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String TOP_LEVEL_GETTER_REFERENCE = "TOP_LEVEL_GETTER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String TOP_LEVEL_SETTER_DECLARATION = "TOP_LEVEL_SETTER_DECLARATION";
- /**
- * Only for version 2 of highlight.
- */
public static final String TOP_LEVEL_SETTER_REFERENCE = "TOP_LEVEL_SETTER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String TOP_LEVEL_VARIABLE_DECLARATION = "TOP_LEVEL_VARIABLE_DECLARATION";
public static final String TYPE_NAME_DYNAMIC = "TYPE_NAME_DYNAMIC";
public static final String TYPE_PARAMETER = "TYPE_PARAMETER";
- /**
- * Only for version 2 of highlight.
- */
public static final String UNRESOLVED_INSTANCE_MEMBER_REFERENCE = "UNRESOLVED_INSTANCE_MEMBER_REFERENCE";
- /**
- * Only for version 2 of highlight.
- */
public static final String VALID_STRING_ESCAPE = "VALID_STRING_ESCAPE";
}
diff --git a/pkg/analysis_server/tool/spec/spec_input.html b/pkg/analysis_server/tool/spec/spec_input.html
index eb8cf23..262ca7c 100644
--- a/pkg/analysis_server/tool/spec/spec_input.html
+++ b/pkg/analysis_server/tool/spec/spec_input.html
@@ -7,7 +7,7 @@
<body>
<h1>Analysis Server API Specification</h1>
<h1 style="color:#999999">Version
- <version>1.30.0</version>
+ <version>1.31.0</version>
</h1>
<p>
This document contains a specification of the API provided by the
diff --git a/pkg/analysis_server_client/lib/src/protocol/protocol_constants.dart b/pkg/analysis_server_client/lib/src/protocol/protocol_constants.dart
index 25f5a64..61ada08 100644
--- a/pkg/analysis_server_client/lib/src/protocol/protocol_constants.dart
+++ b/pkg/analysis_server_client/lib/src/protocol/protocol_constants.dart
@@ -6,7 +6,7 @@
// To regenerate the file, use the script
// "pkg/analysis_server/tool/spec/generate_files".
-const String PROTOCOL_VERSION = '1.30.0';
+const String PROTOCOL_VERSION = '1.31.0';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES = 'analysis.analyzedFiles';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES_DIRECTORIES = 'directories';
diff --git a/pkg/analyzer_plugin/doc/api.html b/pkg/analyzer_plugin/doc/api.html
index 76ba245..777a128 100644
--- a/pkg/analyzer_plugin/doc/api.html
+++ b/pkg/analyzer_plugin/doc/api.html
@@ -1354,152 +1354,47 @@
<dl><dt class="value">ANNOTATION</dt><dt class="value">BUILT_IN</dt><dt class="value">CLASS</dt><dt class="value">COMMENT_BLOCK</dt><dt class="value">COMMENT_DOCUMENTATION</dt><dt class="value">COMMENT_END_OF_LINE</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">DIRECTIVE</dt><dt class="value">DYNAMIC_TYPE</dt><dd>
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_DECLARATION</dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_DECLARATION</dt><dt class="value">DYNAMIC_LOCAL_VARIABLE_REFERENCE</dt><dt class="value">DYNAMIC_PARAMETER_DECLARATION</dt><dt class="value">DYNAMIC_PARAMETER_REFERENCE</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dd>
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">DYNAMIC_PARAMETER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">DYNAMIC_PARAMETER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dd>
-
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FIELD_STATIC</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FUNCTION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FUNCTION_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PREFIX</dt><dt class="value">INSTANCE_FIELD_DECLARATION</dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PREFIX</dt><dt class="value">INSTANCE_FIELD_DECLARATION</dt><dt class="value">INSTANCE_FIELD_REFERENCE</dt><dt class="value">INSTANCE_GETTER_DECLARATION</dt><dt class="value">INSTANCE_GETTER_REFERENCE</dt><dt class="value">INSTANCE_METHOD_DECLARATION</dt><dt class="value">INSTANCE_METHOD_REFERENCE</dt><dt class="value">INSTANCE_SETTER_DECLARATION</dt><dt class="value">INSTANCE_SETTER_REFERENCE</dt><dt class="value">INVALID_STRING_ESCAPE</dt><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY_NAME</dt><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class="value">LOCAL_FUNCTION_DECLARATION</dt><dt class="value">LOCAL_FUNCTION_REFERENCE</dt><dt class="value">LOCAL_VARIABLE</dt><dd>
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_FIELD_REFERENCE</dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">LOCAL_VARIABLE_REFERENCE</dt><dt class="value">METHOD</dt><dd>
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_GETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_GETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_METHOD_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_METHOD_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_SETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INSTANCE_SETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">INVALID_STRING_ESCAPE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY_NAME</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class="value">LOCAL_FUNCTION_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">LOCAL_FUNCTION_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">LOCAL_VARIABLE</dt><dd>
-
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">LOCAL_VARIABLE_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">METHOD</dt><dd>
-
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">METHOD_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">METHOD_DECLARATION_STATIC</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">METHOD_STATIC</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">PARAMETER</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">SETTER_DECLARATION</dt><dd>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</dd><dt class="value">TOP_LEVEL_VARIABLE</dt><dd>
- <p>Only for version 1 of highlight.</p>
- </dd><dt class="value">PARAMETER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">PARAMETER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_FIELD_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_GETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_GETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_METHOD_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_METHOD_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_SETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">STATIC_SETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_FUNCTION_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_FUNCTION_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_GETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_GETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_SETTER_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_SETTER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TOP_LEVEL_VARIABLE_DECLARATION</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNRESOLVED_INSTANCE_MEMBER_REFERENCE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd><dt class="value">VALID_STRING_ESCAPE</dt><dd>
-
- <p>Only for version 2 of highlight.</p>
- </dd></dl></dd><dt class="typeDefinition"><a name="type_KytheEntry">KytheEntry: object</a></dt><dd>
+ <p>Deprecated - no longer sent.</p>
+ </dd><dt class="value">PARAMETER_DECLARATION</dt><dt class="value">PARAMETER_REFERENCE</dt><dt class="value">STATIC_FIELD_DECLARATION</dt><dt class="value">STATIC_GETTER_DECLARATION</dt><dt class="value">STATIC_GETTER_REFERENCE</dt><dt class="value">STATIC_METHOD_DECLARATION</dt><dt class="value">STATIC_METHOD_REFERENCE</dt><dt class="value">STATIC_SETTER_DECLARATION</dt><dt class="value">STATIC_SETTER_REFERENCE</dt><dt class="value">TOP_LEVEL_FUNCTION_DECLARATION</dt><dt class="value">TOP_LEVEL_FUNCTION_REFERENCE</dt><dt class="value">TOP_LEVEL_GETTER_DECLARATION</dt><dt class="value">TOP_LEVEL_GETTER_REFERENCE</dt><dt class="value">TOP_LEVEL_SETTER_DECLARATION</dt><dt class="value">TOP_LEVEL_SETTER_REFERENCE</dt><dt class="value">TOP_LEVEL_VARIABLE_DECLARATION</dt><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNRESOLVED_INSTANCE_MEMBER_REFERENCE</dt><dt class="value">VALID_STRING_ESCAPE</dt></dl></dd><dt class="typeDefinition"><a name="type_KytheEntry">KytheEntry: object</a></dt><dd>
<p>
This object matches the format and documentation of the Entry object
documented in the
diff --git a/pkg/analyzer_plugin/lib/protocol/protocol_common.dart b/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
index 6e2aeae..2d0391d 100644
--- a/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
+++ b/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
@@ -2307,23 +2307,19 @@
static const HighlightRegionType DIRECTIVE =
HighlightRegionType._('DIRECTIVE');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType DYNAMIC_TYPE =
HighlightRegionType._('DYNAMIC_TYPE');
- /// Only for version 2 of highlight.
static const HighlightRegionType DYNAMIC_LOCAL_VARIABLE_DECLARATION =
HighlightRegionType._('DYNAMIC_LOCAL_VARIABLE_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType DYNAMIC_LOCAL_VARIABLE_REFERENCE =
HighlightRegionType._('DYNAMIC_LOCAL_VARIABLE_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType DYNAMIC_PARAMETER_DECLARATION =
HighlightRegionType._('DYNAMIC_PARAMETER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType DYNAMIC_PARAMETER_REFERENCE =
HighlightRegionType._('DYNAMIC_PARAMETER_REFERENCE');
@@ -2332,24 +2328,24 @@
static const HighlightRegionType ENUM_CONSTANT =
HighlightRegionType._('ENUM_CONSTANT');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType FIELD = HighlightRegionType._('FIELD');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType FIELD_STATIC =
HighlightRegionType._('FIELD_STATIC');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType FUNCTION = HighlightRegionType._('FUNCTION');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType FUNCTION_DECLARATION =
HighlightRegionType._('FUNCTION_DECLARATION');
static const HighlightRegionType FUNCTION_TYPE_ALIAS =
HighlightRegionType._('FUNCTION_TYPE_ALIAS');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType GETTER_DECLARATION =
HighlightRegionType._('GETTER_DECLARATION');
@@ -2359,39 +2355,30 @@
static const HighlightRegionType IMPORT_PREFIX =
HighlightRegionType._('IMPORT_PREFIX');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_FIELD_DECLARATION =
HighlightRegionType._('INSTANCE_FIELD_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_FIELD_REFERENCE =
HighlightRegionType._('INSTANCE_FIELD_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_GETTER_DECLARATION =
HighlightRegionType._('INSTANCE_GETTER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_GETTER_REFERENCE =
HighlightRegionType._('INSTANCE_GETTER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_METHOD_DECLARATION =
HighlightRegionType._('INSTANCE_METHOD_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_METHOD_REFERENCE =
HighlightRegionType._('INSTANCE_METHOD_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_SETTER_DECLARATION =
HighlightRegionType._('INSTANCE_SETTER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType INSTANCE_SETTER_REFERENCE =
HighlightRegionType._('INSTANCE_SETTER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType INVALID_STRING_ESCAPE =
HighlightRegionType._('INVALID_STRING_ESCAPE');
@@ -2399,7 +2386,6 @@
static const HighlightRegionType LABEL = HighlightRegionType._('LABEL');
- /// Only for version 2 of highlight.
static const HighlightRegionType LIBRARY_NAME =
HighlightRegionType._('LIBRARY_NAME');
@@ -2421,113 +2407,94 @@
static const HighlightRegionType LITERAL_STRING =
HighlightRegionType._('LITERAL_STRING');
- /// Only for version 2 of highlight.
static const HighlightRegionType LOCAL_FUNCTION_DECLARATION =
HighlightRegionType._('LOCAL_FUNCTION_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType LOCAL_FUNCTION_REFERENCE =
HighlightRegionType._('LOCAL_FUNCTION_REFERENCE');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType LOCAL_VARIABLE =
HighlightRegionType._('LOCAL_VARIABLE');
static const HighlightRegionType LOCAL_VARIABLE_DECLARATION =
HighlightRegionType._('LOCAL_VARIABLE_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType LOCAL_VARIABLE_REFERENCE =
HighlightRegionType._('LOCAL_VARIABLE_REFERENCE');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType METHOD = HighlightRegionType._('METHOD');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType METHOD_DECLARATION =
HighlightRegionType._('METHOD_DECLARATION');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType METHOD_DECLARATION_STATIC =
HighlightRegionType._('METHOD_DECLARATION_STATIC');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType METHOD_STATIC =
HighlightRegionType._('METHOD_STATIC');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType PARAMETER =
HighlightRegionType._('PARAMETER');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType SETTER_DECLARATION =
HighlightRegionType._('SETTER_DECLARATION');
- /// Only for version 1 of highlight.
+ /// Deprecated - no longer sent.
static const HighlightRegionType TOP_LEVEL_VARIABLE =
HighlightRegionType._('TOP_LEVEL_VARIABLE');
- /// Only for version 2 of highlight.
static const HighlightRegionType PARAMETER_DECLARATION =
HighlightRegionType._('PARAMETER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType PARAMETER_REFERENCE =
HighlightRegionType._('PARAMETER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType STATIC_FIELD_DECLARATION =
HighlightRegionType._('STATIC_FIELD_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType STATIC_GETTER_DECLARATION =
HighlightRegionType._('STATIC_GETTER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType STATIC_GETTER_REFERENCE =
HighlightRegionType._('STATIC_GETTER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType STATIC_METHOD_DECLARATION =
HighlightRegionType._('STATIC_METHOD_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType STATIC_METHOD_REFERENCE =
HighlightRegionType._('STATIC_METHOD_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType STATIC_SETTER_DECLARATION =
HighlightRegionType._('STATIC_SETTER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType STATIC_SETTER_REFERENCE =
HighlightRegionType._('STATIC_SETTER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType TOP_LEVEL_FUNCTION_DECLARATION =
HighlightRegionType._('TOP_LEVEL_FUNCTION_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType TOP_LEVEL_FUNCTION_REFERENCE =
HighlightRegionType._('TOP_LEVEL_FUNCTION_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType TOP_LEVEL_GETTER_DECLARATION =
HighlightRegionType._('TOP_LEVEL_GETTER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType TOP_LEVEL_GETTER_REFERENCE =
HighlightRegionType._('TOP_LEVEL_GETTER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType TOP_LEVEL_SETTER_DECLARATION =
HighlightRegionType._('TOP_LEVEL_SETTER_DECLARATION');
- /// Only for version 2 of highlight.
static const HighlightRegionType TOP_LEVEL_SETTER_REFERENCE =
HighlightRegionType._('TOP_LEVEL_SETTER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType TOP_LEVEL_VARIABLE_DECLARATION =
HighlightRegionType._('TOP_LEVEL_VARIABLE_DECLARATION');
@@ -2537,11 +2504,9 @@
static const HighlightRegionType TYPE_PARAMETER =
HighlightRegionType._('TYPE_PARAMETER');
- /// Only for version 2 of highlight.
static const HighlightRegionType UNRESOLVED_INSTANCE_MEMBER_REFERENCE =
HighlightRegionType._('UNRESOLVED_INSTANCE_MEMBER_REFERENCE');
- /// Only for version 2 of highlight.
static const HighlightRegionType VALID_STRING_ESCAPE =
HighlightRegionType._('VALID_STRING_ESCAPE');
diff --git a/pkg/analyzer_plugin/tool/spec/common_types_spec.html b/pkg/analyzer_plugin/tool/spec/common_types_spec.html
index f4acea4..b14bca8 100644
--- a/pkg/analyzer_plugin/tool/spec/common_types_spec.html
+++ b/pkg/analyzer_plugin/tool/spec/common_types_spec.html
@@ -6,7 +6,7 @@
</head>
<body>
<h1>Common Types</h1>
-<version>1.3.0</version>
+<version>1.4.0</version>
<p>
This document contains a specification of the types that are common between
the analysis server wire protocol and the analysis server plugin wire
@@ -645,90 +645,76 @@
<value><code>DIRECTIVE</code></value>
<value>
<code>DYNAMIC_TYPE</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>DYNAMIC_LOCAL_VARIABLE_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>DYNAMIC_LOCAL_VARIABLE_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>DYNAMIC_PARAMETER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>DYNAMIC_PARAMETER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value><code>ENUM</code></value>
<value><code>ENUM_CONSTANT</code></value>
<value>
<code>FIELD</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>FIELD_STATIC</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>FUNCTION</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>FUNCTION_DECLARATION</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value><code>FUNCTION_TYPE_ALIAS</code></value>
<value>
<code>GETTER_DECLARATION</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value><code>IDENTIFIER_DEFAULT</code></value>
<value><code>IMPORT_PREFIX</code></value>
<value>
<code>INSTANCE_FIELD_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INSTANCE_FIELD_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INSTANCE_GETTER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INSTANCE_GETTER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INSTANCE_METHOD_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INSTANCE_METHOD_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INSTANCE_SETTER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INSTANCE_SETTER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>INVALID_STRING_ESCAPE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value><code>KEYWORD</code></value>
<value><code>LABEL</code></value>
<value>
<code>LIBRARY_NAME</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value><code>LITERAL_BOOLEAN</code></value>
<value><code>LITERAL_DOUBLE</code></value>
@@ -738,122 +724,101 @@
<value><code>LITERAL_STRING</code></value>
<value>
<code>LOCAL_FUNCTION_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>LOCAL_FUNCTION_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>LOCAL_VARIABLE</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value><code>LOCAL_VARIABLE_DECLARATION</code></value>
<value>
<code>LOCAL_VARIABLE_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>METHOD</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>METHOD_DECLARATION</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>METHOD_DECLARATION_STATIC</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>METHOD_STATIC</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>PARAMETER</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>SETTER_DECLARATION</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>TOP_LEVEL_VARIABLE</code>
- <p>Only for version 1 of highlight.</p>
+ <p>Deprecated - no longer sent.</p>
</value>
<value>
<code>PARAMETER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>PARAMETER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>STATIC_FIELD_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>STATIC_GETTER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>STATIC_GETTER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>STATIC_METHOD_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>STATIC_METHOD_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>STATIC_SETTER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>STATIC_SETTER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>TOP_LEVEL_FUNCTION_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>TOP_LEVEL_FUNCTION_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>TOP_LEVEL_GETTER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>TOP_LEVEL_GETTER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>TOP_LEVEL_SETTER_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>TOP_LEVEL_SETTER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>TOP_LEVEL_VARIABLE_DECLARATION</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value><code>TYPE_NAME_DYNAMIC</code></value>
<value><code>TYPE_PARAMETER</code></value>
<value>
<code>UNRESOLVED_INSTANCE_MEMBER_REFERENCE</code>
- <p>Only for version 2 of highlight.</p>
</value>
<value>
<code>VALID_STRING_ESCAPE</code>
- <p>Only for version 2 of highlight.</p>
</value>
</enum>
</type>