Skip to content

Commit 3edc0b0

Browse files
stereotype441Commit Queue
authored and
Commit Queue
committed
Repurpose inference-update-3 experiment for language issue 1618.
After discussion with Leaf, I believe the primary use case that `interface-update-3` was intended to address can be better addressed through the proposal of language issue dart-lang/language#1618 (instead of dart-lang/language#3471, which I had been working on previously). Since I had not made a lot of progress on dart-lang/language#3471, rather than set up a brand new experiment flag, it seems better to simply back out the work that I'd previously done, and repurpose the `inference-update-3` flag to work on issue 1618. Change-Id: I6ee1cb29f722f8e1f0710cbd0600cb87b8fd26a1 Bug: dart-lang/language#1618 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350620 Commit-Queue: Paul Berry <[email protected]> Reviewed-by: Nate Bosch <[email protected]> Reviewed-by: Chloe Stefantsova <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]>
1 parent eba0e68 commit 3edc0b0

File tree

5 files changed

+4
-256
lines changed

5 files changed

+4
-256
lines changed

pkg/analyzer/lib/src/dart/resolver/assignment_expression_resolver.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart';
6-
import 'package:analyzer/dart/analysis/features.dart';
76
import 'package:analyzer/dart/ast/token.dart';
87
import 'package:analyzer/dart/element/element.dart';
98
import 'package:analyzer/dart/element/type.dart';
@@ -85,9 +84,7 @@ class AssignmentExpressionResolver {
8584
DartType? rhsContext;
8685
{
8786
var leftType = node.writeType;
88-
if (writeElement is VariableElement &&
89-
!_resolver.definingLibrary.featureSet
90-
.isEnabled(Feature.inference_update_3)) {
87+
if (writeElement is VariableElement) {
9188
leftType = _resolver.localVariableTypeProvider
9289
.getType(left as SimpleIdentifier, isRead: false);
9390
}

pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8629,8 +8629,7 @@ class InferenceVisitorImpl extends InferenceVisitorBase
86298629
}
86308630
DartType declaredOrInferredType = variable.lateType ?? variable.type;
86318631
DartType? promotedType;
8632-
if (isNonNullableByDefault &&
8633-
!libraryBuilder.libraryFeatures.inferenceUpdate3.isEnabled) {
8632+
if (isNonNullableByDefault) {
86348633
promotedType = flowAnalysis.promotedType(variable);
86358634
}
86368635
ExpressionInferenceResult rhsResult = inferExpression(

tests/language/inference_update_3/promoted_local_assignment_context_disabled_test.dart

Lines changed: 0 additions & 164 deletions
This file was deleted.

tests/language/inference_update_3/promoted_local_assignment_context_test.dart

Lines changed: 0 additions & 84 deletions
This file was deleted.

tools/experimental_features.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,8 @@ features:
128128
resource-identifiers:
129129
help: "Output arguments used by static functions."
130130

131-
inference-update-3: # See https://github.com/dart-lang/language/issues/3471
132-
help: "Better handling of coercions, conditional expressions, and switch expressions."
131+
inference-update-3: # See https://github.com/dart-lang/language/issues/1618
132+
help: "Better handling of conditional expressions, and switch expressions."
133133

134134
# Experiment flag only used for testing.
135135
test-experiment:

0 commit comments

Comments
 (0)