Skip to content

Commit 33a9d16

Browse files
srawlinscommit-bot@chromium.org
authored andcommitted
Analyzer: prepare for null safety with explicit casts, and boolean defaults
Change-Id: Ic2e13b96903b9e23ad86ae1af86b912ac1a8636c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176040 Reviewed-by: Konstantin Shcheglov <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Samuel Rawlins <[email protected]>
1 parent 069a2f8 commit 33a9d16

File tree

6 files changed

+47
-47
lines changed

6 files changed

+47
-47
lines changed

pkg/analyzer/lib/src/error/best_practices_verifier.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
4949

5050
/// A flag indicating whether a surrounding member is annotated as
5151
/// `@doNotStore`.
52-
bool _inDoNotStoreMember;
52+
bool _inDoNotStoreMember = false;
5353

5454
/// The error reporter by which errors will be reported.
5555
final ErrorReporter _errorReporter;
@@ -297,7 +297,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
297297

298298
@override
299299
void visitClassDeclaration(ClassDeclaration node) {
300-
ClassElementImpl element = node.declaredElement;
300+
var element = node.declaredElement as ClassElementImpl;
301301
_enclosingClass = element;
302302
_invalidAccessVerifier._enclosingClass = element;
303303

@@ -691,8 +691,8 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
691691
bool _checkAllTypeChecks(IsExpression node) {
692692
Expression expression = node.expression;
693693
TypeAnnotation typeName = node.type;
694-
TypeImpl lhsType = expression.staticType;
695-
TypeImpl rhsType = typeName.type;
694+
var lhsType = expression.staticType as TypeImpl;
695+
var rhsType = typeName.type as TypeImpl;
696696
if (lhsType == null || rhsType == null) {
697697
return false;
698698
}
@@ -910,7 +910,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
910910
return nonFinalFields;
911911
}
912912

913-
ClassElement element = node.declaredElement;
913+
var element = node.declaredElement as ClassElement;
914914
if (isOrInheritsImmutable(element, HashSet<ClassElement>())) {
915915
Iterable<String> nonFinalFields =
916916
definedOrInheritedNonFinalInstanceFields(

pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ class AnalysisOptionsFileConfig {
3939
final bool strictRawTypes;
4040

4141
AnalysisOptionsFileConfig({
42-
this.experiments,
43-
this.implicitCasts,
44-
this.implicitDynamic,
45-
this.lints,
46-
this.strictInference,
47-
this.strictRawTypes,
42+
this.experiments = const [],
43+
this.implicitCasts = true,
44+
this.implicitDynamic = true,
45+
this.lints = const [],
46+
this.strictInference = false,
47+
this.strictRawTypes = false,
4848
});
4949

5050
String toContent() {

pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ G<int> g;
148148
149149
typedef G<T> = T Function(double);
150150
''');
151-
FunctionType type = findElement.topVar('g').type;
151+
var type = findElement.topVar('g').type as FunctionType;
152152
assertType(type, 'int Function(double)');
153153

154154
var typedefG = findElement.functionTypeAlias('G');

pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,7 +1622,7 @@ main() {
16221622
assertElement(foo.propertyName, import.class_('C').getGetter('foo'));
16231623
assertType(foo.propertyName, 'double Function(int)');
16241624

1625-
PrefixedIdentifier target = foo.target;
1625+
var target = foo.target as PrefixedIdentifier;
16261626
assertImportPrefix(target.prefix, import.prefix);
16271627
assertClassRef(target.identifier, import.class_('C'));
16281628
}
@@ -1651,7 +1651,7 @@ main() {
16511651
'void Function(int)',
16521652
);
16531653

1654-
PrefixedIdentifier target = invocation.target;
1654+
var target = invocation.target as PrefixedIdentifier;
16551655
assertImportPrefix(target.prefix, import.prefix);
16561656
assertClassRef(target.identifier, import.class_('C'));
16571657
}

pkg/analyzer/test/src/dart/resolution/optional_const_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,10 +196,10 @@ var v = a;
196196
''');
197197
_fillLibraries();
198198

199-
PropertyAccessorElement vg = findNode.simple('a;').staticElement;
199+
var vg = findNode.simple('a;').staticElement as PropertyAccessorElement;
200200
var v = vg.variable as ConstVariableElement;
201201

202-
InstanceCreationExpression creation = v.constantInitializer;
202+
InstanceCreationExpression /*!*/ creation = v.constantInitializer;
203203
return creation;
204204
}
205205
}

pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ main() {
375375
var identifier = findNode.simple('foo');
376376
assertType(identifier, 'int* Function(int*, int*)*');
377377

378-
PropertyAccessorElement element = identifier.staticElement;
378+
var element = identifier.staticElement as PropertyAccessorElement;
379379
_assertLegacyMember(element, _import_a.topGet('foo'));
380380
}
381381

@@ -400,7 +400,7 @@ main(A a) {
400400
var identifier = invocation.function;
401401
assertType(identifier, 'A*');
402402

403-
MethodElement element = invocation.staticElement;
403+
var element = invocation.staticElement as MethodElement;
404404
_assertLegacyMember(element, _import_a.method('call'));
405405
}
406406

@@ -425,7 +425,7 @@ main() {
425425
var identifier = findNode.simple('foo');
426426
assertType(identifier, 'int* Function(int*)*');
427427

428-
PropertyAccessorElement element = identifier.staticElement;
428+
var element = identifier.staticElement as PropertyAccessorElement;
429429
_assertLegacyMember(element, _import_a.getter('foo'));
430430
}
431431

@@ -512,7 +512,7 @@ main(void Function() a) {
512512
var identifier = findNode.simple('foo');
513513
assertType(identifier, 'int* Function(int*)*');
514514

515-
MethodElement element = identifier.staticElement;
515+
var element = identifier.staticElement as MethodElement;
516516
_assertLegacyMember(element, _import_a.method('foo'));
517517
}
518518

@@ -537,7 +537,7 @@ main() {
537537
var identifier = findNode.simple('foo');
538538
assertType(identifier, 'int* Function(int*)*');
539539

540-
MethodElement element = identifier.staticElement;
540+
var element = identifier.staticElement as MethodElement;
541541
_assertLegacyMember(element, _import_a.method('foo'));
542542
}
543543

@@ -565,7 +565,7 @@ class B extends A {
565565
var identifier = findNode.simple('foo');
566566
assertType(identifier, 'int* Function(int*)*');
567567

568-
MethodElement element = identifier.staticElement;
568+
var element = identifier.staticElement as MethodElement;
569569
_assertLegacyMember(element, _import_a.method('foo'));
570570
}
571571

@@ -590,7 +590,7 @@ main() {
590590
var identifier = findNode.simple('foo');
591591
assertType(identifier, 'int* Function(int*)*');
592592

593-
MethodElement element = identifier.staticElement;
593+
var element = identifier.staticElement as MethodElement;
594594
_assertLegacyMember(element, _import_a.method('foo'));
595595
}
596596

@@ -615,7 +615,7 @@ main() {
615615
var identifier = findNode.simple('foo');
616616
assertType(identifier, 'int* Function(int*)*');
617617

618-
MethodElement element = identifier.staticElement;
618+
var element = identifier.staticElement as MethodElement;
619619
_assertLegacyMember(element, _import_a.method('foo'));
620620
}
621621

@@ -638,7 +638,7 @@ main() {
638638
var identifier = findNode.simple('foo');
639639
assertType(identifier, 'int* Function(int*, int*)*');
640640

641-
FunctionElement element = identifier.staticElement;
641+
var element = identifier.staticElement as FunctionElement;
642642
_assertLegacyMember(element, _import_a.topFunction('foo'));
643643
}
644644

@@ -661,7 +661,7 @@ main() {
661661
var identifier = findNode.simple('foo');
662662
assertType(identifier, 'int* Function(int*, int*)*');
663663

664-
FunctionElement element = identifier.staticElement;
664+
var element = identifier.staticElement as FunctionElement;
665665
_assertLegacyMember(element, _import_a.topFunction('foo'));
666666
}
667667

@@ -686,7 +686,7 @@ main(A a) {
686686
var identifier = findNode.simple('foo');
687687
assertType(identifier, 'int* Function(int*, int*)*');
688688

689-
MethodElement element = identifier.staticElement;
689+
var element = identifier.staticElement as MethodElement;
690690
assertType(element.type, 'int* Function(int*, int*)*');
691691
}
692692

@@ -711,7 +711,7 @@ main(A a) {
711711
var identifier = findNode.simple('foo');
712712
assertType(identifier, 'int* Function(int*, int*)*');
713713

714-
MethodElement element = identifier.staticElement;
714+
var element = identifier.staticElement as MethodElement;
715715
assertType(element.type, 'int* Function(int*, int*)*');
716716
}
717717

@@ -738,7 +738,7 @@ class B extends A {
738738
var identifier = findNode.simple('foo');
739739
assertType(identifier, 'int* Function(int*, int*)*');
740740

741-
MethodElement element = identifier.staticElement;
741+
var element = identifier.staticElement as MethodElement;
742742
assertType(element.type, 'int* Function(int*, int*)*');
743743
}
744744

@@ -763,7 +763,7 @@ main() {
763763
var identifier = findNode.simple('foo');
764764
assertType(identifier, 'int* Function(int*, int*)*');
765765

766-
MethodElement element = identifier.staticElement;
766+
var element = identifier.staticElement as MethodElement;
767767
assertType(element.type, 'int* Function(int*, int*)*');
768768
}
769769

@@ -790,7 +790,7 @@ class B extends A {
790790
var identifier = findNode.simple('foo');
791791
assertType(identifier, 'int* Function(int*, int*)*');
792792

793-
MethodElement element = identifier.staticElement;
793+
var element = identifier.staticElement as MethodElement;
794794
assertType(element.type, 'int* Function(int*, int*)*');
795795
}
796796

@@ -904,7 +904,7 @@ main(A a) {
904904
var identifier = prefixedIdentifier.identifier;
905905
assertType(identifier, 'int*');
906906

907-
PropertyAccessorElement element = identifier.staticElement;
907+
var element = identifier.staticElement as PropertyAccessorElement;
908908
_assertLegacyMember(element, _import_a.getter('foo'));
909909
}
910910

@@ -929,7 +929,7 @@ main(A a) {
929929
var identifier = prefixedIdentifier.identifier;
930930
assertType(identifier, 'int*');
931931

932-
PropertyAccessorElement element = identifier.staticElement;
932+
var element = identifier.staticElement as PropertyAccessorElement;
933933
_assertLegacyMember(element, _import_a.getter('foo'));
934934
}
935935

@@ -953,7 +953,7 @@ main() {
953953
var identifier = prefixedIdentifier.identifier;
954954
assertType(identifier, 'int*');
955955

956-
PropertyAccessorElement element = identifier.staticElement;
956+
var element = identifier.staticElement as PropertyAccessorElement;
957957
_assertLegacyMember(element, _import_a.getter('foo'));
958958
}
959959

@@ -977,7 +977,7 @@ main() {
977977
var identifier = prefixedIdentifier.identifier;
978978
assertType(identifier, 'int* Function(int*)*');
979979

980-
MethodElement element = identifier.staticElement;
980+
var element = identifier.staticElement as MethodElement;
981981
_assertLegacyMember(element, _import_a.method('foo'));
982982
}
983983

@@ -1001,7 +1001,7 @@ main() {
10011001
var identifier = prefixedIdentifier.identifier;
10021002
assertType(identifier, 'int*');
10031003

1004-
PropertyAccessorElement element = identifier.staticElement;
1004+
var element = identifier.staticElement as PropertyAccessorElement;
10051005
_assertLegacyMember(element, _import_a.getter('foo'));
10061006
}
10071007

@@ -1025,7 +1025,7 @@ main() {
10251025
var identifier = prefixedIdentifier.identifier;
10261026
assertType(identifier, 'int* Function(int*)*');
10271027

1028-
MethodElement element = identifier.staticElement;
1028+
var element = identifier.staticElement as MethodElement;
10291029
_assertLegacyMember(element, _import_a.method('foo'));
10301030
}
10311031

@@ -1047,7 +1047,7 @@ main() {
10471047
var identifier = prefixedIdentifier.identifier;
10481048
assertType(identifier, 'int*');
10491049

1050-
PropertyAccessorElement element = identifier.staticElement;
1050+
var element = identifier.staticElement as PropertyAccessorElement;
10511051
_assertLegacyMember(element, _import_a.topGet('foo'));
10521052
}
10531053

@@ -1071,7 +1071,7 @@ main() {
10711071
var identifier = propertyAccess.propertyName;
10721072
assertType(identifier, 'int*');
10731073

1074-
PropertyAccessorElement element = identifier.staticElement;
1074+
var element = identifier.staticElement as PropertyAccessorElement;
10751075
_assertLegacyMember(element, _import_a.getter('foo'));
10761076
}
10771077

@@ -1095,7 +1095,7 @@ main() {
10951095
var identifier = propertyAccess.propertyName;
10961096
assertType(identifier, 'int* Function()*');
10971097

1098-
MethodElement element = identifier.staticElement;
1098+
var element = identifier.staticElement as MethodElement;
10991099
_assertLegacyMember(element, _import_a.method('foo'));
11001100
}
11011101

@@ -1120,7 +1120,7 @@ main(A a) {
11201120
var identifier = propertyAccess.propertyName;
11211121
assertType(identifier, 'int*');
11221122

1123-
PropertyAccessorElement element = identifier.staticElement;
1123+
var element = identifier.staticElement as PropertyAccessorElement;
11241124
_assertLegacyMember(element, _import_a.getter('foo'));
11251125
}
11261126

@@ -1146,7 +1146,7 @@ class B extends A {
11461146
var identifier = propertyAccess.propertyName;
11471147
assertType(identifier, 'int*');
11481148

1149-
PropertyAccessorElement element = identifier.staticElement;
1149+
var element = identifier.staticElement as PropertyAccessorElement;
11501150
_assertLegacyMember(element, _import_a.getter('foo'));
11511151
}
11521152

@@ -1169,7 +1169,7 @@ class B extends A {
11691169
var identifier = findNode.simple('foo');
11701170
assertType(identifier, 'int*');
11711171

1172-
PropertyAccessorElement element = identifier.staticElement;
1172+
var element = identifier.staticElement as PropertyAccessorElement;
11731173
_assertLegacyMember(element, _import_a.getter('foo'));
11741174
}
11751175

@@ -1192,7 +1192,7 @@ class B extends A {
11921192
var identifier = findNode.simple('foo');
11931193
assertType(identifier, 'int* Function(int*)*');
11941194

1195-
MethodElement element = identifier.staticElement;
1195+
var element = identifier.staticElement as MethodElement;
11961196
_assertLegacyMember(element, _import_a.method('foo'));
11971197
}
11981198

@@ -1216,7 +1216,7 @@ class B extends A {
12161216
var identifier = findNode.simple('foo');
12171217
assertType(identifier, 'int*');
12181218

1219-
PropertyAccessorElement element = identifier.staticElement;
1219+
var element = identifier.staticElement as PropertyAccessorElement;
12201220
_assertLegacyMember(element, _import_a.getter('foo'));
12211221
}
12221222

@@ -1240,7 +1240,7 @@ class B extends A {
12401240
var identifier = findNode.simple('foo');
12411241
assertType(identifier, 'int* Function(int*)*');
12421242

1243-
MethodElement element = identifier.staticElement;
1243+
var element = identifier.staticElement as MethodElement;
12441244
_assertLegacyMember(element, _import_a.method('foo'));
12451245
}
12461246

@@ -1259,7 +1259,7 @@ main() {
12591259
var identifier = findNode.simple('foo');
12601260
assertType(identifier, 'int*');
12611261

1262-
PropertyAccessorElement element = identifier.staticElement;
1262+
var element = identifier.staticElement as PropertyAccessorElement;
12631263
_assertLegacyMember(element, _import_a.topGet('foo'));
12641264
}
12651265

0 commit comments

Comments
 (0)