positionalParameterNames property

List<String> get positionalParameterNames

Get all positional parameter names (required and optional).

Implementation

List<String> get positionalParameterNames {
  final params = _parameters?.parameters;
  if (params == null) return [];
  return params
      .where((p) {
        if (p is SSimpleFormalParameter) return p.isPositional;
        if (p is SDefaultFormalParameter) return p.isPositional;
        if (p is SFieldFormalParameter) return true;
        if (p is SSuperFormalParameter) return true;
        if (p is SFunctionTypedFormalParameter) return true;
        return false;
      })
      .map((p) {
        if (p is SSimpleFormalParameter) {
          return p.name?.name ?? '';
        } else if (p is SDefaultFormalParameter) {
          final inner = p.parameter;
          if (inner is SSimpleFormalParameter) {
            return inner.name?.name ?? '';
          } else if (inner is SFieldFormalParameter) {
            return inner.name?.name ?? '';
          } else if (inner is SFunctionTypedFormalParameter) {
            return inner.name?.name ?? '';
          }
        } else if (p is SFieldFormalParameter) {
          return p.name?.name ?? '';
        } else if (p is SFunctionTypedFormalParameter) {
          return p.name?.name ?? '';
        }
        return '';
      })
      .where((n) => n.isNotEmpty)
      .toList();
}