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;
}