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>