@@ -100,10 +100,9 @@ class _Visitor extends SimpleAstVisitor<void> {
100
100
void visitFormalParameterList (FormalParameterList parameterList) {
101
101
for (var node in parameterList.parameters) {
102
102
if (node.isFinal) {
103
- var keyword = _getFinal (node);
103
+ var ( keyword, type) = getParameterDetails (node);
104
104
if (keyword == null ) continue ;
105
105
106
- var type = _getType (node);
107
106
var errorCode = getErrorCode (type);
108
107
rule.reportLintForToken (keyword, errorCode: errorCode);
109
108
}
@@ -140,32 +139,13 @@ class _Visitor extends SimpleAstVisitor<void> {
140
139
}
141
140
}
142
141
143
- /// Return the `final` token for the parameter [node] .
144
- Token ? _getFinal (FormalParameter node) {
145
- // TODO(brianwilkerson) Combine with `_getType` by using a record to hold
146
- // the token and type.
142
+ (Token ? , AstNode ? ) getParameterDetails (FormalParameter node) {
147
143
var parameter = node is DefaultFormalParameter ? node.parameter : node;
148
- if (parameter is FieldFormalParameter ) {
149
- return parameter.keyword;
150
- } else if (parameter is SimpleFormalParameter ) {
151
- return parameter.keyword;
152
- } else if (parameter is SuperFormalParameter ) {
153
- return parameter.keyword;
154
- }
155
- return null ;
156
- }
157
-
158
- /// Return the type of the formal parameter [node] , or `null` if there is no
159
- /// explicit type.
160
- AstNode ? _getType (FormalParameter node) {
161
- var parameter = node is DefaultFormalParameter ? node.parameter : node;
162
- if (parameter is FieldFormalParameter ) {
163
- return parameter.type;
164
- } else if (parameter is SimpleFormalParameter ) {
165
- return parameter.type;
166
- } else if (parameter is SuperFormalParameter ) {
167
- return parameter.type;
168
- }
169
- return null ;
144
+ return switch (parameter) {
145
+ FieldFormalParameter () => (parameter.keyword, parameter.type),
146
+ SimpleFormalParameter () => (parameter.keyword, parameter.type),
147
+ SuperFormalParameter () => (parameter.keyword, parameter.type),
148
+ _ => (null , null ),
149
+ };
170
150
}
171
151
}
0 commit comments