Prepare to publish analyzer 0.40.4 and _fe_analyzer_shared 11.0.0.
Change-Id: I19d92bf9f107a82826c2d6d41f18315f25afc411
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/_fe_analyzer_shared/pubspec.yaml b/pkg/_fe_analyzer_shared/pubspec.yaml
index 944063b..7d75dfd 100644
--- a/pkg/_fe_analyzer_shared/pubspec.yaml
+++ b/pkg/_fe_analyzer_shared/pubspec.yaml
@@ -1,5 +1,5 @@
name: _fe_analyzer_shared
-version: 10.0.0
+version: 11.0.0
description: Logic that is shared between the front_end and analyzer packages.
homepage: https://github.com/dart-lang/sdk/tree/master/pkg/_fe_analyzer_shared
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 50be3ba..2a979a6 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -1,6 +1,8 @@
-## 0.40.4-dev
+## 0.40.4
* Deprecated `IndexExpression.auxiliaryElements` and
`SimpleIdentifier.auxiliaryElements`. Use `CompoundAssignmentExpression`.
+* Removed internal `getReadType`, use `CompoundAssignmentExpression`.
+* Bug fixes: 34699, 43524, 42990.
## 0.40.3
* Updated the current language version to `2.11`.
diff --git a/pkg/analyzer/lib/src/task/strong/checker.dart b/pkg/analyzer/lib/src/task/strong/checker.dart
index e3049ad..a744bab4 100644
--- a/pkg/analyzer/lib/src/task/strong/checker.dart
+++ b/pkg/analyzer/lib/src/task/strong/checker.dart
@@ -22,50 +22,6 @@
import 'package:analyzer/src/summary/idl.dart';
import 'package:meta/meta.dart';
-@Deprecated('Use CompoundAssignmentExpression.readType')
-DartType getReadType(Expression expression) {
- if (expression is IndexExpression) {
- var aux = expression.auxiliaryElements;
- if (aux != null) {
- var staticElement = aux.staticElement;
- return staticElement == null
- ? DynamicTypeImpl.instance
- : staticElement.returnType;
- }
- return expression.staticType;
- }
- {
- Element setter;
- if (expression is PrefixedIdentifier) {
- setter = expression.staticElement;
- } else if (expression is PropertyAccess) {
- setter = expression.propertyName.staticElement;
- } else if (expression is SimpleIdentifier) {
- setter = expression.staticElement;
- }
- if (setter is PropertyAccessorElement && setter.isSetter) {
- var getter = setter.variable.getter;
- if (getter != null) {
- var type = getter.returnType;
- // The return type might be `null` when we perform top-level inference.
- // The first stage collects references to build the dependency graph.
- // TODO(scheglov) Maybe preliminary set types to `dynamic`?
- return type ?? DynamicTypeImpl.instance;
- }
- }
- }
- if (expression is SimpleIdentifier) {
- var aux = expression.auxiliaryElements;
- if (aux != null) {
- var staticElement = aux.staticElement;
- return staticElement == null
- ? DynamicTypeImpl.instance
- : staticElement.returnType;
- }
- }
- return expression.staticType;
-}
-
DartType _elementType(Element e) {
if (e == null) {
// Malformed code - just return dynamic.
diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml
index 9eea80c..6cb8815 100644
--- a/pkg/analyzer/pubspec.yaml
+++ b/pkg/analyzer/pubspec.yaml
@@ -1,5 +1,5 @@
name: analyzer
-version: 0.40.4-dev
+version: 0.40.4
description: This package provides a library that performs static analysis of Dart code.
homepage: https://github.com/dart-lang/sdk/tree/master/pkg/analyzer
@@ -7,7 +7,7 @@
sdk: '>=2.7.0 <3.0.0'
dependencies:
- _fe_analyzer_shared: ^10.0.0
+ _fe_analyzer_shared: ^11.0.0
args: ^1.0.0
charcode: ^1.1.2
cli_util: '>=0.1.4 <0.3.0'