Parameters.ceylon
import ceylon.ast.core {
Parameter,
Parameters
}
"Converts a stream of [[parameters]] to a [[Parameters]] object."
Parameters parameters_internal(Parameters|{Parameter*} parameters) {
if (is Parameters parameters) {
return parameters;
} else {
return Parameters(parameters.sequence());
}
}
Parameters? optionalParameters_internal(Parameters|{Parameter*}? parameters) {
if (exists parameters) { return parameters_internal(parameters); }
else { return null; }
}
[Parameters+] parameterLists_internal({Parameters+}|Parameters|{Parameter*} parameters) {
if (is Parameters parameters) {
return [parameters];
} else if (is {Parameters+} parameters) {
assert (nonempty ret = parameters.sequence());
return ret;
} else {
return [parameters_internal(parameters)];
}
}