Skip to content

Commit d9b0213

Browse files
scheglovCommit Queue
authored andcommitted
CQ. Use null assert instead of type cast for declaredFragment, where possible.
Change-Id: Ie2a56119b8e6637f414778a7fb1032986b28c2b2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/413880 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]>
1 parent 1335dfc commit d9b0213

File tree

11 files changed

+110
-112
lines changed

11 files changed

+110
-112
lines changed

pkg/analyzer/lib/src/dart/constant/constant_verifier.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ class ConstantVerifier extends RecursiveAstVisitor<void> {
163163
}
164164

165165
@override
166-
void visitConstructorDeclaration(ConstructorDeclaration node) {
166+
void visitConstructorDeclaration(covariant ConstructorDeclarationImpl node) {
167167
var constKeyword = node.constKeyword;
168168
if (constKeyword != null) {
169169
// Check and report cycles.
@@ -202,23 +202,23 @@ class ConstantVerifier extends RecursiveAstVisitor<void> {
202202
}
203203

204204
@override
205-
visitEnumConstantDeclaration(EnumConstantDeclaration node) {
205+
visitEnumConstantDeclaration(covariant EnumConstantDeclarationImpl node) {
206206
super.visitEnumConstantDeclaration(node);
207207

208208
var argumentList = node.arguments?.argumentList;
209209
if (argumentList != null) {
210210
_validateConstantArguments(argumentList);
211211
}
212212

213-
var element = node.declaredFragment as ConstFieldElementImpl;
213+
var element = node.declaredFragment!;
214214
var result = element.evaluationResult;
215215
if (result is InvalidConstant) {
216216
_reportError(result, null);
217217
}
218218
}
219219

220220
@override
221-
void visitFunctionExpression(FunctionExpression node) {
221+
void visitFunctionExpression(covariant FunctionExpressionImpl node) {
222222
super.visitFunctionExpression(node);
223223
_validateDefaultValues(node.parameters);
224224
}
@@ -360,7 +360,7 @@ class ConstantVerifier extends RecursiveAstVisitor<void> {
360360
}
361361

362362
@override
363-
void visitMethodDeclaration(MethodDeclaration node) {
363+
void visitMethodDeclaration(covariant MethodDeclarationImpl node) {
364364
super.visitMethodDeclaration(node);
365365
_validateDefaultValues(node.parameters);
366366
}
@@ -475,11 +475,11 @@ class ConstantVerifier extends RecursiveAstVisitor<void> {
475475
}
476476

477477
@override
478-
void visitVariableDeclaration(VariableDeclaration node) {
478+
void visitVariableDeclaration(covariant VariableDeclarationImpl node) {
479479
super.visitVariableDeclaration(node);
480480
var initializer = node.initializer;
481481
if (initializer != null && (node.isConst || node.isFinal)) {
482-
var element = node.declaredFragment as VariableElementImpl;
482+
var element = node.declaredFragment!;
483483
if (element is FieldElementImpl && !element.isStatic) {
484484
var enclosingFragment = element.enclosingFragment;
485485
if (enclosingFragment is ClassElementImpl &&
@@ -812,12 +812,12 @@ class ConstantVerifier extends RecursiveAstVisitor<void> {
812812

813813
/// Validates that the default value associated with each of the parameters in
814814
/// [parameters] is a constant expression.
815-
void _validateDefaultValues(FormalParameterList? parameters) {
815+
void _validateDefaultValues(covariant FormalParameterListImpl? parameters) {
816816
if (parameters == null) {
817817
return;
818818
}
819-
for (FormalParameter parameter in parameters.parameters) {
820-
if (parameter is DefaultFormalParameter) {
819+
for (var parameter in parameters.parameters) {
820+
if (parameter is DefaultFormalParameterImpl) {
821821
var defaultValue = parameter.defaultValue;
822822
Constant? result;
823823
if (defaultValue == null) {
@@ -832,7 +832,7 @@ class ConstantVerifier extends RecursiveAstVisitor<void> {
832832
result = _evaluateAndReportError(
833833
defaultValue, CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE);
834834
}
835-
var element = parameter.declaredFragment as VariableElementImpl;
835+
var element = parameter.declaredFragment!;
836836
element.evaluationResult = result;
837837
}
838838
}

pkg/analyzer/lib/src/dart/constant/utilities.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,10 +175,10 @@ class ConstantFinder extends RecursiveAstVisitor<void> {
175175
}
176176

177177
@override
178-
void visitEnumConstantDeclaration(EnumConstantDeclaration node) {
178+
void visitEnumConstantDeclaration(covariant EnumConstantDeclarationImpl node) {
179179
super.visitEnumConstantDeclaration(node);
180180

181-
var element = node.declaredFragment as ConstFieldElementImpl;
181+
var element = node.declaredFragment!;
182182
constantsToCompute.add(element);
183183

184184
configuration.addErrorNode(

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
624624
void visitFieldFormalParameter(covariant FieldFormalParameterImpl node) {
625625
FieldFormalParameterElementImpl fragment;
626626
if (node.parent is DefaultFormalParameter) {
627-
fragment = node.declaredFragment as FieldFormalParameterElementImpl;
627+
fragment = node.declaredFragment!;
628628
} else {
629629
var nameToken = node.name;
630630
if (_elementWalker != null) {
@@ -833,7 +833,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
833833
) {
834834
ParameterElementImpl fragment;
835835
if (node.parent is DefaultFormalParameter) {
836-
fragment = node.declaredFragment as ParameterElementImpl;
836+
fragment = node.declaredFragment!;
837837
} else {
838838
var nameToken = node.name;
839839
if (_elementWalker != null) {
@@ -1209,7 +1209,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
12091209
void visitSimpleFormalParameter(covariant SimpleFormalParameterImpl node) {
12101210
ParameterElementImpl fragment;
12111211
if (node.parent is DefaultFormalParameter) {
1212-
fragment = node.declaredFragment as ParameterElementImpl;
1212+
fragment = node.declaredFragment!;
12131213
} else {
12141214
var nameToken = node.name;
12151215
if (_elementWalker != null) {
@@ -1389,7 +1389,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
13891389

13901390
@override
13911391
void visitTypeParameter(covariant TypeParameterImpl node) {
1392-
var fragment = node.declaredFragment as TypeParameterElementImpl;
1392+
var fragment = node.declaredFragment!;
13931393

13941394
_setOrCreateMetadataElements(fragment, node.metadata);
13951395

@@ -1455,7 +1455,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
14551455
var variables = node.variables;
14561456
for (var i = 0; i < variables.length; i++) {
14571457
var variable = variables[i];
1458-
var element = variable.declaredFragment as ElementImpl;
1458+
var element = variable.declaredFragment!;
14591459
_setOrCreateMetadataElements(element, annotations, visitNodes: false);
14601460

14611461
var offset = (i == 0 ? node.parent! : variable).offset;

pkg/analyzer/lib/src/generated/error_verifier.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -651,7 +651,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
651651
@override
652652
void visitEnumConstantDeclaration(
653653
covariant EnumConstantDeclarationImpl node) {
654-
var fragment = node.declaredFragment as FieldElementImpl;
654+
var fragment = node.declaredFragment!;
655655

656656
_checkAugmentations(
657657
augmentKeyword: node.augmentKeyword,
@@ -1044,7 +1044,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
10441044

10451045
@override
10461046
void visitGenericTypeAlias(covariant GenericTypeAliasImpl node) {
1047-
var fragment = node.declaredFragment as TypeAliasElementImpl;
1047+
var fragment = node.declaredFragment!;
10481048

10491049
_checkAugmentations(
10501050
augmentKeyword: node.augmentKeyword,
@@ -1054,8 +1054,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
10541054
_checkForBuiltInIdentifierAsName(
10551055
node.name, CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME);
10561056
_checkForMainFunction1(node.name, node.declaredFragment!);
1057-
_checkForTypeAliasCannotReferenceItself(
1058-
node.name, node.declaredFragment as TypeAliasElementImpl);
1057+
_checkForTypeAliasCannotReferenceItself(node.name, fragment);
10591058
super.visitGenericTypeAlias(node);
10601059
}
10611060

pkg/analyzer/lib/src/summary2/ast_binary_writer.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:analyzer/dart/ast/token.dart';
66
import 'package:analyzer/dart/ast/visitor.dart';
77
import 'package:analyzer/dart/element/type.dart';
88
import 'package:analyzer/src/dart/ast/ast.dart';
9-
import 'package:analyzer/src/dart/element/element.dart';
109
import 'package:analyzer/src/summary2/ast_binary_flags.dart';
1110
import 'package:analyzer/src/summary2/ast_binary_tag.dart';
1211
import 'package:analyzer/src/summary2/bundle_writer.dart';
@@ -743,13 +742,13 @@ class AstBinaryWriter extends ThrowingAstVisitor<void> {
743742
}
744743

745744
@override
746-
void visitSimpleFormalParameter(SimpleFormalParameter node) {
745+
void visitSimpleFormalParameter(covariant SimpleFormalParameterImpl node) {
747746
_writeByte(Tag.SimpleFormalParameter);
748747

749748
_writeOptionalNode(node.type);
750749
_storeNormalFormalParameter(node, node.keyword);
751750

752-
var element = node.declaredFragment as ParameterElementImpl;
751+
var element = node.declaredFragment!;
753752
_sink.writeByte(element.inheritsCovariant ? 1 : 0);
754753
}
755754

@@ -894,8 +893,8 @@ class AstBinaryWriter extends ThrowingAstVisitor<void> {
894893

895894
void _storeForLoopParts(ForLoopParts node) {}
896895

897-
void _storeFormalParameter(FormalParameter node) {
898-
var element = node.declaredFragment as ParameterElementImpl;
896+
void _storeFormalParameter(FormalParameterImpl node) {
897+
var element = node.declaredFragment!;
899898
_writeActualType(_sink, element.type);
900899
}
901900

@@ -914,7 +913,7 @@ class AstBinaryWriter extends ThrowingAstVisitor<void> {
914913
}
915914

916915
void _storeNormalFormalParameter(
917-
NormalFormalParameter node,
916+
NormalFormalParameterImpl node,
918917
Token? keyword, {
919918
bool hasQuestion = false,
920919
}) {

pkg/analyzer/lib/src/summary2/default_types_builder.dart

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -76,25 +76,25 @@ class DefaultTypesBuilder {
7676
}
7777
}
7878
for (var node in nodes) {
79-
if (node is ClassDeclaration) {
79+
if (node is ClassDeclarationImpl) {
8080
_build(node.typeParameters);
81-
} else if (node is ClassTypeAlias) {
81+
} else if (node is ClassTypeAliasImpl) {
8282
_build(node.typeParameters);
83-
} else if (node is EnumDeclaration) {
83+
} else if (node is EnumDeclarationImpl) {
8484
_build(node.typeParameters);
85-
} else if (node is ExtensionDeclaration) {
85+
} else if (node is ExtensionDeclarationImpl) {
8686
_build(node.typeParameters);
87-
} else if (node is ExtensionTypeDeclaration) {
87+
} else if (node is ExtensionTypeDeclarationImpl) {
8888
_build(node.typeParameters);
89-
} else if (node is FunctionTypeAlias) {
89+
} else if (node is FunctionTypeAliasImpl) {
9090
_build(node.typeParameters);
91-
} else if (node is GenericTypeAlias) {
91+
} else if (node is GenericTypeAliasImpl) {
9292
_build(node.typeParameters);
93-
} else if (node is MixinDeclaration) {
93+
} else if (node is MixinDeclarationImpl) {
9494
_build(node.typeParameters);
95-
} else if (node is FunctionDeclaration) {
95+
} else if (node is FunctionDeclarationImpl) {
9696
_build(node.functionExpression.typeParameters);
97-
} else if (node is MethodDeclaration) {
97+
} else if (node is MethodDeclarationImpl) {
9898
_build(node.typeParameters);
9999
}
100100
}
@@ -174,11 +174,11 @@ class DefaultTypesBuilder {
174174
}
175175

176176
/// Build actual default type [DartType]s from computed [TypeBuilder]s.
177-
void _build(TypeParameterList? parameterList) {
177+
void _build(TypeParameterListImpl? parameterList) {
178178
if (parameterList == null) return;
179179

180180
for (var parameter in parameterList.typeParameters) {
181-
var element = parameter.declaredFragment as TypeParameterElementImpl;
181+
var element = parameter.declaredFragment!;
182182
var defaultType = element.defaultType;
183183
if (defaultType is TypeBuilder) {
184184
var builtType = defaultType.build();
@@ -250,7 +250,7 @@ class DefaultTypesBuilder {
250250

251251
// Set computed TypeBuilder(s) as default types.
252252
for (var i = 0; i < length; i++) {
253-
var element = nodes[i].declaredFragment as TypeParameterElementImpl;
253+
var element = nodes[i].declaredFragment!;
254254
element.defaultType = bounds[i];
255255
}
256256
}

pkg/analyzer/lib/src/summary2/element_builder.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,8 +1141,7 @@ class ElementBuilder extends ThrowingAstVisitor<void> {
11411141
typeNode.accept(this);
11421142

11431143
if (typeNode is GenericFunctionTypeImpl) {
1144-
fragment.aliasedElement =
1145-
typeNode.declaredFragment as GenericFunctionTypeElementImpl;
1144+
fragment.aliasedElement = typeNode.declaredFragment!;
11461145
}
11471146

11481147
elementBuilder.addFragment(fragment);

pkg/analyzer/lib/src/summary2/library_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ class LibraryBuilder {
261261
executable.body.accept(collector);
262262
}
263263
}
264-
var fragment = declaration.declaredFragment as MixinElementImpl;
264+
var fragment = declaration.declaredFragment!;
265265
fragment.superInvokedNames = names.toList();
266266
}
267267
}

0 commit comments

Comments
 (0)