Version 2.12.0-257.0.dev
Merge commit '40b9650b674e515dc893edb463d890b796d4bc0a' into 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b958615..75ddaaa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -99,6 +99,46 @@
* Removed the `--use-fasta-parser`, `--preview-dart-2`, and
`--enable-assert-initializers` command line options. These options haven't
been supported in a while and were no-ops.
+* Report diagnostics regarding the
+ [`@internal`](https://pub.dev/documentation/meta/latest/meta/internal-constant.html)
+ annotation.
+* Improve diagnostic-reporting regarding the
+ [`@doNotStore`](https://pub.dev/documentation/meta/latest/meta/doNotStore-constant.html)
+ annotation.
+* Introduce a diagnostic which is reported when a library member named `main`
+ is not a function.
+* Introduce a diagnostic which is reported when a `main` function's first
+ parameter is not a supertype of `List<String>`.
+* Introduce a diagnostic which is reported when an `// ignore` comment contains
+ an error code which is not being reported.
+* Introduce a diagnostic which is reported when an `// ignore` comment contains
+ an error code which cannot be ignored.
+* Introduce a diagnostic which is reported when an `// ignore` comment contains
+ an error code which is already being ignored.
+* Report diagnostics when using
+ [`@visibleForTesting`](https://pub.dev/documentation/meta/latest/meta/visibleForTesting-constant.html)
+ on top-level variables.
+* Fix false positive reports of "unused element" for top-level setters and
+ getters.
+* Fix false positive reports regarding `@deprecated` field formal parameters at
+ their declaration.
+* For null safety, introduce a diagnostic which reports when a null-check will
+ always fail.
+* Fix false positive reports regarding optional parameters on privat
+ constructors being unused.
+* Introduce a diagnostic which is reported when a constructor includes
+ duplicate field formal parameters.
+* Improve the "unused import" diagnostic when multiple import directives share
+ a common prefix.
+* Fix false positive "unused import" diagnostic regarding an import which
+ provides an extension method which is used.
+* For null safety, improve the messaging of "use of nullable value" diagnostics
+ for eight different contexts.
+* Fix false positive reports regarding `@visibleForTesting` members in a "hide"
+ combinator of an import or export directive.
+* Improve the messaging of "invalid override" diagnostics.
+* Introduce a diagnostic which is reported when `Future<T>.catchError` is
+ called with an `onError` callback which does not return `FutureOr<T>`.
#### dartfmt
diff --git a/DEPS b/DEPS
index 32a1981..2c8fd54 100644
--- a/DEPS
+++ b/DEPS
@@ -44,7 +44,7 @@
# co19 is a cipd package. Use update.sh in tests/co19[_2] to update these
# hashes. It requires access to the dart-build-access group, which EngProd
# has.
- "co19_rev": "d8e25398102add0ac1e732850928bd44c78f2447",
+ "co19_rev": "103d027d38472f9871b66fb0c2b01cc91c858c9f",
"co19_2_rev": "e48b3090826cf40b8037648f19d211e8eab1b4b6",
# The internal benchmarks to use. See go/dart-benchmarks-internal
@@ -133,7 +133,7 @@
"ply_rev": "604b32590ffad5cbb82e4afef1d305512d06ae93",
"pool_rev": "7abe634002a1ba8a0928eded086062f1307ccfae",
"protobuf_rev": "0d03fd588df69e9863e2a2efc0059dee8f18d5b2",
- "pub_rev": "0402c467547daa5886352cb315338ae54552d21c",
+ "pub_rev": "0e657414a472e74ca5dd76ae0db50cc060251dec",
"pub_semver_rev": "10569a1e867e909cf5db201f73118020453e5db8",
"resource_rev": "6b79867d0becf5395e5819a75720963b8298e9a7",
"root_certificates_rev": "7e5ec82c99677a2e5b95ce296c4d68b0d3378ed8",
diff --git a/pkg/analysis_server/doc/api.html b/pkg/analysis_server/doc/api.html
index 3d33316..42a0c71 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.32.3
+ 1.32.4
</h1>
<p>
This document contains a specification of the API provided by the
@@ -236,6 +236,11 @@
ignoring the item or treating it with some default/fallback handling.
</p>
<h3>Changelog</h3>
+<h4>1.32.4</h4>
+<ul>
+ <li>Added <tt>ElementKind.TYPE_ALIAS</tt> and <tt>HighlightRegionType.TYPE_ALIAS</tt>
+ for non-function type aliases.</li>
+</ul>
<h4>1.32.3</h4>
<ul>
<li>Removed the experimental <tt>completion.listTokenDetails</tt> request and
@@ -3833,7 +3838,7 @@
An enumeration of the kinds of elements.
</p>
- <dl><dt class="value">CLASS</dt><dt class="value">CLASS_TYPE_ALIAS</dt><dt class="value">COMPILATION_UNIT</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">CONSTRUCTOR_INVOCATION</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">EXTENSION</dt><dt class="value">FIELD</dt><dt class="value">FILE</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTION_INVOCATION</dt><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">METHOD</dt><dt class="value">MIXIN</dt><dt class="value">PARAMETER</dt><dt class="value">PREFIX</dt><dt class="value">SETTER</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNIT_TEST_GROUP</dt><dt class="value">UNIT_TEST_TEST</dt><dt class="value">UNKNOWN</dt></dl></dd><dt class="typeDefinition"><a name="type_ExecutableFile">ExecutableFile: object</a></dt><dd>
+ <dl><dt class="value">CLASS</dt><dt class="value">CLASS_TYPE_ALIAS</dt><dt class="value">COMPILATION_UNIT</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">CONSTRUCTOR_INVOCATION</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">EXTENSION</dt><dt class="value">FIELD</dt><dt class="value">FILE</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTION_INVOCATION</dt><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">METHOD</dt><dt class="value">MIXIN</dt><dt class="value">PARAMETER</dt><dt class="value">PREFIX</dt><dt class="value">SETTER</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">TYPE_ALIAS</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNIT_TEST_GROUP</dt><dt class="value">UNIT_TEST_TEST</dt><dt class="value">UNKNOWN</dt></dl></dd><dt class="typeDefinition"><a name="type_ExecutableFile">ExecutableFile: object</a></dt><dd>
<p>
A description of an executable file.
</p>
@@ -4329,7 +4334,7 @@
</dd><dt class="value">TOP_LEVEL_VARIABLE</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>
+ </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_ALIAS</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 ff997f0..9b566ba 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.32.3';
+const String PROTOCOL_VERSION = '1.32.4';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES = 'analysis.analyzedFiles';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES_DIRECTORIES = 'directories';
diff --git a/pkg/analysis_server/test/integration/support/protocol_matchers.dart b/pkg/analysis_server/test/integration/support/protocol_matchers.dart
index fee1c3e..354583b 100644
--- a/pkg/analysis_server/test/integration/support/protocol_matchers.dart
+++ b/pkg/analysis_server/test/integration/support/protocol_matchers.dart
@@ -448,6 +448,7 @@
/// PREFIX
/// SETTER
/// TOP_LEVEL_VARIABLE
+/// TYPE_ALIAS
/// TYPE_PARAMETER
/// UNIT_TEST_GROUP
/// UNIT_TEST_TEST
@@ -477,6 +478,7 @@
'PREFIX',
'SETTER',
'TOP_LEVEL_VARIABLE',
+ 'TYPE_ALIAS',
'TYPE_PARAMETER',
'UNIT_TEST_GROUP',
'UNIT_TEST_TEST',
@@ -846,6 +848,7 @@
/// TOP_LEVEL_SETTER_DECLARATION
/// TOP_LEVEL_SETTER_REFERENCE
/// TOP_LEVEL_VARIABLE_DECLARATION
+/// TYPE_ALIAS
/// TYPE_NAME_DYNAMIC
/// TYPE_PARAMETER
/// UNRESOLVED_INSTANCE_MEMBER_REFERENCE
@@ -921,6 +924,7 @@
'TOP_LEVEL_SETTER_DECLARATION',
'TOP_LEVEL_SETTER_REFERENCE',
'TOP_LEVEL_VARIABLE_DECLARATION',
+ 'TYPE_ALIAS',
'TYPE_NAME_DYNAMIC',
'TYPE_PARAMETER',
'UNRESOLVED_INSTANCE_MEMBER_REFERENCE',
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/ElementKind.java b/pkg/analysis_server/tool/spec/generated/java/types/ElementKind.java
index 5fe4e7b..81be704 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/ElementKind.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/ElementKind.java
@@ -61,6 +61,8 @@
public static final String TOP_LEVEL_VARIABLE = "TOP_LEVEL_VARIABLE";
+ public static final String TYPE_ALIAS = "TYPE_ALIAS";
+
public static final String TYPE_PARAMETER = "TYPE_PARAMETER";
public static final String UNIT_TEST_GROUP = "UNIT_TEST_GROUP";
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 2b1e1d2..65f636a 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
@@ -195,6 +195,8 @@
public static final String TOP_LEVEL_VARIABLE_DECLARATION = "TOP_LEVEL_VARIABLE_DECLARATION";
+ public static final String TYPE_ALIAS = "TYPE_ALIAS";
+
public static final String TYPE_NAME_DYNAMIC = "TYPE_NAME_DYNAMIC";
public static final String TYPE_PARAMETER = "TYPE_PARAMETER";
diff --git a/pkg/analysis_server/tool/spec/spec_input.html b/pkg/analysis_server/tool/spec/spec_input.html
index 536cad8..a2c3b0a 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.32.3</version>
+ <version>1.32.4</version>
</h1>
<p>
This document contains a specification of the API provided by the
@@ -134,6 +134,11 @@
ignoring the item or treating it with some default/fallback handling.
</p>
<h3>Changelog</h3>
+<h4>1.32.4</h4>
+<ul>
+ <li>Added <tt>ElementKind.TYPE_ALIAS</tt> and <tt>HighlightRegionType.TYPE_ALIAS</tt>
+ for non-function type aliases.</li>
+</ul>
<h4>1.32.3</h4>
<ul>
<li>Removed the experimental <tt>completion.listTokenDetails</tt> request and
diff --git a/pkg/analysis_server_client/lib/src/protocol/protocol_common.dart b/pkg/analysis_server_client/lib/src/protocol/protocol_common.dart
index 2b61453..cb6ab86 100644
--- a/pkg/analysis_server_client/lib/src/protocol/protocol_common.dart
+++ b/pkg/analysis_server_client/lib/src/protocol/protocol_common.dart
@@ -1718,6 +1718,7 @@
/// PREFIX
/// SETTER
/// TOP_LEVEL_VARIABLE
+/// TYPE_ALIAS
/// TYPE_PARAMETER
/// UNIT_TEST_GROUP
/// UNIT_TEST_TEST
@@ -1776,6 +1777,8 @@
static const ElementKind TOP_LEVEL_VARIABLE =
ElementKind._('TOP_LEVEL_VARIABLE');
+ static const ElementKind TYPE_ALIAS = ElementKind._('TYPE_ALIAS');
+
static const ElementKind TYPE_PARAMETER = ElementKind._('TYPE_PARAMETER');
static const ElementKind UNIT_TEST_GROUP = ElementKind._('UNIT_TEST_GROUP');
@@ -1809,6 +1812,7 @@
PREFIX,
SETTER,
TOP_LEVEL_VARIABLE,
+ TYPE_ALIAS,
TYPE_PARAMETER,
UNIT_TEST_GROUP,
UNIT_TEST_TEST,
@@ -1868,6 +1872,8 @@
return SETTER;
case 'TOP_LEVEL_VARIABLE':
return TOP_LEVEL_VARIABLE;
+ case 'TYPE_ALIAS':
+ return TYPE_ALIAS;
case 'TYPE_PARAMETER':
return TYPE_PARAMETER;
case 'UNIT_TEST_GROUP':
@@ -2291,6 +2297,7 @@
/// TOP_LEVEL_SETTER_DECLARATION
/// TOP_LEVEL_SETTER_REFERENCE
/// TOP_LEVEL_VARIABLE_DECLARATION
+/// TYPE_ALIAS
/// TYPE_NAME_DYNAMIC
/// TYPE_PARAMETER
/// UNRESOLVED_INSTANCE_MEMBER_REFERENCE
@@ -2512,6 +2519,9 @@
static const HighlightRegionType TOP_LEVEL_VARIABLE_DECLARATION =
HighlightRegionType._('TOP_LEVEL_VARIABLE_DECLARATION');
+ static const HighlightRegionType TYPE_ALIAS =
+ HighlightRegionType._('TYPE_ALIAS');
+
static const HighlightRegionType TYPE_NAME_DYNAMIC =
HighlightRegionType._('TYPE_NAME_DYNAMIC');
@@ -2595,6 +2605,7 @@
TOP_LEVEL_SETTER_DECLARATION,
TOP_LEVEL_SETTER_REFERENCE,
TOP_LEVEL_VARIABLE_DECLARATION,
+ TYPE_ALIAS,
TYPE_NAME_DYNAMIC,
TYPE_PARAMETER,
UNRESOLVED_INSTANCE_MEMBER_REFERENCE,
@@ -2746,6 +2757,8 @@
return TOP_LEVEL_SETTER_REFERENCE;
case 'TOP_LEVEL_VARIABLE_DECLARATION':
return TOP_LEVEL_VARIABLE_DECLARATION;
+ case 'TYPE_ALIAS':
+ return TYPE_ALIAS;
case 'TYPE_NAME_DYNAMIC':
return TYPE_NAME_DYNAMIC;
case 'TYPE_PARAMETER':
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 ff997f0..9b566ba 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.32.3';
+const String PROTOCOL_VERSION = '1.32.4';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES = 'analysis.analyzedFiles';
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES_DIRECTORIES = 'directories';
diff --git a/pkg/analyzer/lib/src/generated/ffi_verifier.dart b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
index 8cc04cf..8a32c10 100644
--- a/pkg/analyzer/lib/src/generated/ffi_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
@@ -85,7 +85,7 @@
// No classes from the FFI may be explicitly implemented.
void checkSupertype(TypeName typename, FfiCode subtypeOfFfiCode,
FfiCode subtypeOfStructCode) {
- final superName = typename.name.staticElement?.name;
+ final superName = typename.name?.staticElement?.name;
if (superName == _allocatorClassName) {
return;
}
@@ -139,9 +139,9 @@
@override
void visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
- Element element = node.staticElement;
+ Element element = node?.staticElement;
if (element is MethodElement) {
- Element enclosingElement = element.enclosingElement;
+ Element enclosingElement = element?.enclosingElement;
if (enclosingElement is ExtensionElement) {
if (_isAllocatorExtension(enclosingElement) &&
element.name == _allocateExtensionMethodName) {
@@ -154,7 +154,7 @@
@override
void visitIndexExpression(IndexExpression node) {
- Element element = node.staticElement;
+ Element element = node?.staticElement;
Element enclosingElement = element?.enclosingElement;
if (enclosingElement is ExtensionElement) {
if (_isNativeStructPointerExtension(enclosingElement)) {
@@ -167,7 +167,7 @@
@override
void visitMethodInvocation(MethodInvocation node) {
- Element element = node.methodName.staticElement;
+ Element element = node.methodName?.staticElement;
if (element is MethodElement) {
Element enclosingElement = element.enclosingElement;
if (enclosingElement is ClassElement) {
@@ -190,7 +190,7 @@
}
}
} else if (element is FunctionElement) {
- Element enclosingElement = element.enclosingElement;
+ Element enclosingElement = element?.enclosingElement;
if (enclosingElement is CompilationUnitElement) {
if (element.library.name == 'dart.ffi') {
if (element.name == 'sizeOf') {
@@ -468,6 +468,9 @@
}
void _validateAllocate(FunctionExpressionInvocation node) {
+ if (node.typeArgumentTypes.length != 1) {
+ return;
+ }
final DartType dartType = node.typeArgumentTypes[0];
if (!_isValidFfiNativeType(dartType, true, true)) {
final AstNode errorNode = node;
@@ -631,7 +634,7 @@
void _validateElementAt(MethodInvocation node) {
Expression target = node.realTarget;
- DartType targetType = target.staticType;
+ DartType targetType = target?.staticType;
if (targetType is InterfaceType &&
_isPointer(targetType.element) &&
targetType.typeArguments.length == 1) {
@@ -772,7 +775,7 @@
}
void _validateRefIndexed(IndexExpression node) {
- DartType targetType = node.target.staticType;
+ DartType targetType = node.target?.staticType;
if (!_isValidFfiNativeType(targetType, false, true)) {
final AstNode errorNode = node;
_errorReporter.reportErrorForNode(
@@ -792,7 +795,7 @@
}
void _validateRefPropertyAccess(PropertyAccess node) {
- DartType targetType = node.target.staticType;
+ DartType targetType = node.target?.staticType;
if (!_isValidFfiNativeType(targetType, false, true)) {
final AstNode errorNode = node;
_errorReporter.reportErrorForNode(
@@ -801,6 +804,9 @@
}
void _validateSizeOf(MethodInvocation node) {
+ if (node.typeArgumentTypes.length != 1) {
+ return;
+ }
final DartType T = node.typeArgumentTypes[0];
if (!_isValidFfiNativeType(T, true, true)) {
final AstNode errorNode = node;
diff --git a/pkg/analyzer_plugin/doc/api.html b/pkg/analyzer_plugin/doc/api.html
index dd53e3b..664cdce 100644
--- a/pkg/analyzer_plugin/doc/api.html
+++ b/pkg/analyzer_plugin/doc/api.html
@@ -1294,7 +1294,7 @@
An enumeration of the kinds of elements.
</p>
- <dl><dt class="value">CLASS</dt><dt class="value">CLASS_TYPE_ALIAS</dt><dt class="value">COMPILATION_UNIT</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">CONSTRUCTOR_INVOCATION</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">EXTENSION</dt><dt class="value">FIELD</dt><dt class="value">FILE</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTION_INVOCATION</dt><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">METHOD</dt><dt class="value">MIXIN</dt><dt class="value">PARAMETER</dt><dt class="value">PREFIX</dt><dt class="value">SETTER</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNIT_TEST_GROUP</dt><dt class="value">UNIT_TEST_TEST</dt><dt class="value">UNKNOWN</dt></dl></dd><dt class="typeDefinition"><a name="type_FilePath">FilePath: String</a></dt><dd>
+ <dl><dt class="value">CLASS</dt><dt class="value">CLASS_TYPE_ALIAS</dt><dt class="value">COMPILATION_UNIT</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">CONSTRUCTOR_INVOCATION</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">EXTENSION</dt><dt class="value">FIELD</dt><dt class="value">FILE</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTION_INVOCATION</dt><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">METHOD</dt><dt class="value">MIXIN</dt><dt class="value">PARAMETER</dt><dt class="value">PREFIX</dt><dt class="value">SETTER</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">TYPE_ALIAS</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNIT_TEST_GROUP</dt><dt class="value">UNIT_TEST_TEST</dt><dt class="value">UNKNOWN</dt></dl></dd><dt class="typeDefinition"><a name="type_FilePath">FilePath: String</a></dt><dd>
<p>
The absolute, normalized path of a file.
@@ -1397,7 +1397,7 @@
</dd><dt class="value">TOP_LEVEL_VARIABLE</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>
+ </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_ALIAS</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 89b8f94..5bdb9aa 100644
--- a/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
+++ b/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
@@ -1718,6 +1718,7 @@
/// PREFIX
/// SETTER
/// TOP_LEVEL_VARIABLE
+/// TYPE_ALIAS
/// TYPE_PARAMETER
/// UNIT_TEST_GROUP
/// UNIT_TEST_TEST
@@ -1776,6 +1777,8 @@
static const ElementKind TOP_LEVEL_VARIABLE =
ElementKind._('TOP_LEVEL_VARIABLE');
+ static const ElementKind TYPE_ALIAS = ElementKind._('TYPE_ALIAS');
+
static const ElementKind TYPE_PARAMETER = ElementKind._('TYPE_PARAMETER');
static const ElementKind UNIT_TEST_GROUP = ElementKind._('UNIT_TEST_GROUP');
@@ -1809,6 +1812,7 @@
PREFIX,
SETTER,
TOP_LEVEL_VARIABLE,
+ TYPE_ALIAS,
TYPE_PARAMETER,
UNIT_TEST_GROUP,
UNIT_TEST_TEST,
@@ -1868,6 +1872,8 @@
return SETTER;
case 'TOP_LEVEL_VARIABLE':
return TOP_LEVEL_VARIABLE;
+ case 'TYPE_ALIAS':
+ return TYPE_ALIAS;
case 'TYPE_PARAMETER':
return TYPE_PARAMETER;
case 'UNIT_TEST_GROUP':
@@ -2291,6 +2297,7 @@
/// TOP_LEVEL_SETTER_DECLARATION
/// TOP_LEVEL_SETTER_REFERENCE
/// TOP_LEVEL_VARIABLE_DECLARATION
+/// TYPE_ALIAS
/// TYPE_NAME_DYNAMIC
/// TYPE_PARAMETER
/// UNRESOLVED_INSTANCE_MEMBER_REFERENCE
@@ -2512,6 +2519,9 @@
static const HighlightRegionType TOP_LEVEL_VARIABLE_DECLARATION =
HighlightRegionType._('TOP_LEVEL_VARIABLE_DECLARATION');
+ static const HighlightRegionType TYPE_ALIAS =
+ HighlightRegionType._('TYPE_ALIAS');
+
static const HighlightRegionType TYPE_NAME_DYNAMIC =
HighlightRegionType._('TYPE_NAME_DYNAMIC');
@@ -2595,6 +2605,7 @@
TOP_LEVEL_SETTER_DECLARATION,
TOP_LEVEL_SETTER_REFERENCE,
TOP_LEVEL_VARIABLE_DECLARATION,
+ TYPE_ALIAS,
TYPE_NAME_DYNAMIC,
TYPE_PARAMETER,
UNRESOLVED_INSTANCE_MEMBER_REFERENCE,
@@ -2746,6 +2757,8 @@
return TOP_LEVEL_SETTER_REFERENCE;
case 'TOP_LEVEL_VARIABLE_DECLARATION':
return TOP_LEVEL_VARIABLE_DECLARATION;
+ case 'TYPE_ALIAS':
+ return TYPE_ALIAS;
case 'TYPE_NAME_DYNAMIC':
return TYPE_NAME_DYNAMIC;
case 'TYPE_PARAMETER':
diff --git a/pkg/analyzer_plugin/test/integration/support/protocol_matchers.dart b/pkg/analyzer_plugin/test/integration/support/protocol_matchers.dart
index 3ac543a..e93caa5 100644
--- a/pkg/analyzer_plugin/test/integration/support/protocol_matchers.dart
+++ b/pkg/analyzer_plugin/test/integration/support/protocol_matchers.dart
@@ -259,6 +259,7 @@
/// PREFIX
/// SETTER
/// TOP_LEVEL_VARIABLE
+/// TYPE_ALIAS
/// TYPE_PARAMETER
/// UNIT_TEST_GROUP
/// UNIT_TEST_TEST
@@ -288,6 +289,7 @@
'PREFIX',
'SETTER',
'TOP_LEVEL_VARIABLE',
+ 'TYPE_ALIAS',
'TYPE_PARAMETER',
'UNIT_TEST_GROUP',
'UNIT_TEST_TEST',
@@ -420,6 +422,7 @@
/// TOP_LEVEL_SETTER_DECLARATION
/// TOP_LEVEL_SETTER_REFERENCE
/// TOP_LEVEL_VARIABLE_DECLARATION
+/// TYPE_ALIAS
/// TYPE_NAME_DYNAMIC
/// TYPE_PARAMETER
/// UNRESOLVED_INSTANCE_MEMBER_REFERENCE
@@ -495,6 +498,7 @@
'TOP_LEVEL_SETTER_DECLARATION',
'TOP_LEVEL_SETTER_REFERENCE',
'TOP_LEVEL_VARIABLE_DECLARATION',
+ 'TYPE_ALIAS',
'TYPE_NAME_DYNAMIC',
'TYPE_PARAMETER',
'UNRESOLVED_INSTANCE_MEMBER_REFERENCE',
diff --git a/pkg/analyzer_plugin/tool/spec/common_types_spec.html b/pkg/analyzer_plugin/tool/spec/common_types_spec.html
index df7fa1c..c2562cf 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.4.1</version>
+<version>1.4.2</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
@@ -550,6 +550,7 @@
<value><code>PREFIX</code></value>
<value><code>SETTER</code></value>
<value><code>TOP_LEVEL_VARIABLE</code></value>
+ <value><code>TYPE_ALIAS</code></value>
<value><code>TYPE_PARAMETER</code></value>
<value><code>UNIT_TEST_GROUP</code></value>
<value><code>UNIT_TEST_TEST</code></value>
@@ -817,6 +818,9 @@
<value>
<code>TOP_LEVEL_VARIABLE_DECLARATION</code>
</value>
+ <value>
+ <code>TYPE_ALIAS</code>
+ </value>
<value><code>TYPE_NAME_DYNAMIC</code></value>
<value><code>TYPE_PARAMETER</code></value>
<value>
diff --git a/tools/VERSION b/tools/VERSION
index e3cb26f..382c739 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 12
PATCH 0
-PRERELEASE 256
+PRERELEASE 257
PRERELEASE_PATCH 0
\ No newline at end of file