visitFormalParameterList method
void
visitFormalParameterList(
- FormalParameterList node
)
override
Implementation
@override
void visitFormalParameterList(FormalParameterList node) {
List<DefaultFormalParameter> getParams() {
final params = <DefaultFormalParameter>[];
for (final p in node.parameters) {
// Only named parameters
if (p.isNamed) {
final parameter = p as DefaultFormalParameter;
// Without a default value or marked required
if (parameter.defaultValue == null) {
final declaredElement = parameter.declaredElement;
if (declaredElement != null && !declaredElement.hasRequired) {
params.add(parameter);
}
}
}
}
return params;
}
final parent = node.parent;
if (parent is FunctionExpression) {
_checkParams(getParams(), parent.body);
} else if (parent is ConstructorDeclaration) {
_checkInitializerList(getParams(), parent.initializers);
_checkParams(getParams(), parent.body);
} else if (parent is MethodDeclaration) {
_checkParams(getParams(), parent.body);
}
}