codeNodes method
Implementation
@override
List<CodeNode> codeNodes(Context context) {
List<CodeNode> nodes = [];
var _requiredParameters = parameters
.where((p) => p.category == ParameterCategory.required)
.toList();
var _optionalParameters = parameters
.where((p) => p.category == ParameterCategory.optional)
.toList();
var _namedParameters =
parameters.where((p) => p.category == ParameterCategory.named).toList();
nodes.add(SeparatedValues.forParameters(_requiredParameters));
if (_requiredParameters.isNotEmpty &&
(_optionalParameters.isNotEmpty || _namedParameters.isNotEmpty)) {
nodes.add(Code(', '));
}
if (_optionalParameters.isNotEmpty) {
nodes.add(Code('['));
nodes.add(SeparatedValues.forParameters(_optionalParameters));
nodes.add(Code(']'));
} else if (_namedParameters.isNotEmpty) {
nodes.add(Code('{'));
nodes.add(SeparatedValues.forParameters(_namedParameters));
nodes.add(Code('}'));
}
return nodes;
}