visitArgumentList method

  1. @override
void visitArgumentList(
  1. ArgumentList node
)
override

Implementation

@override
void visitArgumentList(ArgumentList node) {
  for (final argument in node.arguments) {
    final expression = switch (argument) {
      NamedExpression(:final expression) => expression,
      _ => argument,
    };

    if (expression.isDotShorthand) continue;

    final parameter = argument.correspondingParameter;
    final baseType = parameter?.baseElement.type;

    if (baseType is TypeParameterType) {
      final hasExplicitContext = argument.hasExplicitTypeContext;
      if (!hasExplicitContext) continue;
    }

    _checkAndReport(expression: expression, declaredType: parameter?.type);
  }
}