visitInstanceCreationExpression method

  1. @override
void visitInstanceCreationExpression(
  1. InstanceCreationExpression node
)
override

Implementation

@override
void visitInstanceCreationExpression(InstanceCreationExpression node) {
  final returnType = node.constructorName.staticElement?.returnType;
  final checkers = [sizedBox, container];

  if (!TypeChecker.any(checkers).isAssignableFromType(returnType)) return;

  final argNames = ['width', 'height'];
  final arguments = node.argumentList.arguments
      .whereType<NamedExpression>()
      .where((exp) => argNames.any((name) => name == exp.name.label.name));

  for (var arg in arguments) {
    if (isDesignSystemExpression(arg.expression) ?? true) continue;
    reportLint(arg.expression, message: _message, correction: _correction);
  }
}