Implementation
@override
int get arity {
if (isSetter) return 1; // Setters always take one argument
// Original logic for required positional parameters
final params = _parameters?.parameters;
if (params == null) return 0;
return params
.where((p) =>
p is SSimpleFormalParameter ||
p is SFieldFormalParameter ||
p is SFunctionTypedFormalParameter ||
p is SSuperFormalParameter)
.where((p) {
if (p is SSimpleFormalParameter) return p.isPositional && p.isRequired;
return true; // Other NormalFormalParameter-like types are required positional by default
}).length;
}