Skip to content

Commit b7aa910

Browse files
pqCommit Queue
authored andcommitted
cleanup unneeded strictCast tracking
Follow-up from: https://dart-review.googlesource.com/c/sdk/+/341336 Change-Id: I09a142b00f10e44793b70b10b08920e1245770b4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342088 Reviewed-by: Samuel Rawlins <[email protected]> Commit-Queue: Phil Quitslund <[email protected]>
1 parent 40e5e46 commit b7aa910

File tree

7 files changed

+15
-59
lines changed

7 files changed

+15
-59
lines changed

pkg/linter/lib/src/extensions.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ extension ClassElementExtension on ClassElement {
153153
/// equal to another static const field with the same type as the class is not
154154
/// included. Such a field is assumed to be deprecated in favor of the field
155155
/// with equal value.
156-
EnumLikeClassDescription? asEnumLikeClass({required bool strictCasts}) {
156+
EnumLikeClassDescription? asEnumLikeClass() {
157157
// See discussion: https://github.com/dart-lang/linter/issues/2083.
158158

159159
// Must be concrete.
@@ -204,8 +204,7 @@ extension ClassElementExtension on ClassElement {
204204
bool isClass(String otherName, String otherLibrary) =>
205205
name == otherName && library.name == otherLibrary;
206206

207-
bool isEnumLikeClass({required bool strictCasts}) =>
208-
asEnumLikeClass(strictCasts: strictCasts) != null;
207+
bool isEnumLikeClass() => asEnumLikeClass() != null;
209208
}
210209

211210
extension ClassMemberListExtension on List<ClassMember> {

pkg/linter/lib/src/rules/avoid_redundant_argument_values.dart

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'package:analyzer/dart/ast/ast.dart';
66
import 'package:analyzer/dart/ast/visitor.dart';
77
import 'package:analyzer/dart/element/element.dart';
8-
import 'package:analyzer/src/generated/engine.dart'; //ignore: implementation_imports
98
import 'package:collection/collection.dart';
109

1110
import '../analyzer.dart';
@@ -71,14 +70,8 @@ class AvoidRedundantArgumentValues extends LintRule {
7170
class _Visitor extends SimpleAstVisitor {
7271
final LintRule rule;
7372
final LinterContext context;
74-
final bool strictCasts;
75-
76-
_Visitor(this.rule, this.context)
77-
:
78-
// TODO(pq): update when there's a better API to access strictCasts.
79-
strictCasts =
80-
// ignore: deprecated_member_use
81-
(context.analysisOptions as AnalysisOptionsImpl).strictCasts;
73+
74+
_Visitor(this.rule, this.context);
8275

8376
void check(ArgumentList argumentList) {
8477
var arguments = argumentList.arguments;

pkg/linter/lib/src/rules/exhaustive_cases.dart

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:analyzer/dart/ast/ast.dart';
66
import 'package:analyzer/dart/ast/visitor.dart';
77
import 'package:analyzer/dart/element/element.dart';
88
import 'package:analyzer/dart/element/type.dart';
9-
import 'package:analyzer/src/generated/engine.dart'; //ignore: implementation_imports
109

1110
import '../analyzer.dart';
1211
import '../extensions.dart';
@@ -93,21 +92,15 @@ class ExhaustiveCases extends LintRule {
9392
@override
9493
void registerNodeProcessors(
9594
NodeLintRegistry registry, LinterContext context) {
96-
// TODO(pq): update when there's a better API to access strictCasts.
97-
var strictCasts =
98-
// ignore: deprecated_member_use
99-
(context.analysisOptions as AnalysisOptionsImpl).strictCasts;
100-
101-
var visitor = _Visitor(this, strictCasts: strictCasts);
95+
var visitor = _Visitor(this);
10296
registry.addSwitchStatement(this, visitor);
10397
}
10498
}
10599

106100
class _Visitor extends SimpleAstVisitor {
107101
final LintRule rule;
108-
final bool strictCasts;
109102

110-
_Visitor(this.rule, {required this.strictCasts});
103+
_Visitor(this.rule);
111104

112105
@override
113106
void visitSwitchStatement(SwitchStatement statement) {
@@ -118,8 +111,7 @@ class _Visitor extends SimpleAstVisitor {
118111
if (interfaceElement is! ClassElement) {
119112
return;
120113
}
121-
var enumDescription =
122-
interfaceElement.asEnumLikeClass(strictCasts: strictCasts);
114+
var enumDescription = interfaceElement.asEnumLikeClass();
123115
if (enumDescription == null) {
124116
return;
125117
}

pkg/linter/lib/src/rules/no_default_cases.dart

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:analyzer/dart/ast/ast.dart';
66
import 'package:analyzer/dart/ast/visitor.dart';
77
import 'package:analyzer/dart/element/element.dart';
88
import 'package:analyzer/dart/element/type.dart';
9-
import 'package:analyzer/src/generated/engine.dart'; //ignore: implementation_imports
109

1110
import '../analyzer.dart';
1211
import '../extensions.dart';
@@ -70,21 +69,15 @@ class NoDefaultCases extends LintRule {
7069
@override
7170
void registerNodeProcessors(
7271
NodeLintRegistry registry, LinterContext context) {
73-
// TODO(pq): update when there's a better API to access strictCasts.
74-
var strictCasts =
75-
// ignore: deprecated_member_use
76-
(context.analysisOptions as AnalysisOptionsImpl).strictCasts;
77-
78-
var visitor = _Visitor(this, strictCasts: strictCasts);
72+
var visitor = _Visitor(this);
7973
registry.addSwitchStatement(this, visitor);
8074
}
8175
}
8276

8377
class _Visitor extends SimpleAstVisitor {
8478
final LintRule rule;
85-
final bool strictCasts;
8679

87-
_Visitor(this.rule, {required this.strictCasts});
80+
_Visitor(this.rule);
8881

8982
@override
9083
void visitSwitchStatement(SwitchStatement statement) {
@@ -95,7 +88,7 @@ class _Visitor extends SimpleAstVisitor {
9588
var interfaceElement = expressionType.element;
9689
if (interfaceElement is EnumElement ||
9790
interfaceElement is ClassElement &&
98-
interfaceElement.isEnumLikeClass(strictCasts: strictCasts)) {
91+
interfaceElement.isEnumLikeClass()) {
9992
rule.reportLint(member);
10093
}
10194
return;

pkg/linter/lib/src/rules/unreachable_from_main.dart

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:analyzer/dart/ast/ast.dart';
88
import 'package:analyzer/dart/ast/visitor.dart';
99
import 'package:analyzer/dart/element/element.dart';
1010
import 'package:analyzer/dart/element/type.dart';
11-
import 'package:analyzer/src/generated/engine.dart'; //ignore: implementation_imports
1211
import 'package:collection/collection.dart';
1312
import 'package:pub_semver/pub_semver.dart';
1413

@@ -463,14 +462,8 @@ class _ReferenceVisitor extends RecursiveAstVisitor {
463462
class _Visitor extends SimpleAstVisitor<void> {
464463
final LintRule rule;
465464
final LinterContext context;
466-
final bool strictCasts;
467-
468-
_Visitor(this.rule, this.context)
469-
:
470-
// TODO(pq): update when there's a better API to access strictCasts.
471-
strictCasts =
472-
// ignore: deprecated_member_use
473-
(context.analysisOptions as AnalysisOptionsImpl).strictCasts;
465+
466+
_Visitor(this.rule, this.context);
474467

475468
@override
476469
void visitCompilationUnit(CompilationUnit node) {

pkg/linter/lib/src/rules/use_enums.dart

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:analyzer/dart/analysis/features.dart';
66
import 'package:analyzer/dart/ast/ast.dart';
77
import 'package:analyzer/dart/ast/visitor.dart';
88
import 'package:analyzer/dart/element/element.dart';
9-
import 'package:analyzer/src/generated/engine.dart'; //ignore: implementation_imports
109

1110
import '../analyzer.dart';
1211
import '../ast.dart';
@@ -186,14 +185,8 @@ class _NonEnumVisitor extends _BaseVisitor {
186185
class _Visitor extends SimpleAstVisitor {
187186
final LintRule rule;
188187
final LinterContext context;
189-
final bool strictCasts;
190-
191-
_Visitor(this.rule, this.context)
192-
:
193-
// TODO(pq): update when there's a better API to access strictCasts.
194-
strictCasts =
195-
// ignore: deprecated_member_use
196-
(context.analysisOptions as AnalysisOptionsImpl).strictCasts;
188+
189+
_Visitor(this.rule, this.context);
197190

198191
@override
199192
visitClassDeclaration(ClassDeclaration node) {

pkg/linter/lib/src/rules/use_named_constants.dart

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:analyzer/dart/ast/ast.dart';
66
import 'package:analyzer/dart/ast/visitor.dart';
77
import 'package:analyzer/dart/element/element.dart';
88
import 'package:analyzer/dart/element/type.dart';
9-
import 'package:analyzer/src/generated/engine.dart'; //ignore: implementation_imports
109

1110
import '../analyzer.dart';
1211

@@ -54,16 +53,10 @@ class UseNamedConstants extends LintRule {
5453

5554
class _Visitor extends SimpleAstVisitor<void> {
5655
final LintRule rule;
57-
final bool strictCasts;
5856

5957
final LinterContext context;
6058

61-
_Visitor(this.rule, this.context)
62-
:
63-
// TODO(pq): update when there's a better API to access strictCasts.
64-
strictCasts =
65-
// ignore: deprecated_member_use
66-
(context.analysisOptions as AnalysisOptionsImpl).strictCasts;
59+
_Visitor(this.rule, this.context);
6760

6861
@override
6962
void visitInstanceCreationExpression(InstanceCreationExpression node) {

0 commit comments

Comments
 (0)