check method

  1. @override
void check(
  1. DcqRegistry registry
)

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addInstanceCreationExpression((node) {
    final name = node.constructorName.type.name.lexeme;

    if (name == 'SizedBox') {
      final childExpr = _getChildExpression(node);
      if (childExpr is! InstanceCreationExpression) return;
      if (!_decoratingWidgets.contains(
        childExpr.constructorName.type.name.lexeme,
      )) {
        return;
      }
      reportAtNode(node);
      return;
    }

    if (_decoratingWidgets.contains(name)) {
      final childExpr = _getChildExpression(node);
      if (childExpr is! InstanceCreationExpression) return;
      if (childExpr.constructorName.type.name.lexeme != 'SizedBox') return;
      reportAtNode(node);
    }
  });
}