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 {
assert (is {Parameter*} parameters);
return Parameters(parameters.sequence());
}
}
[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 {
assert (is {Parameter*} parameters);
return [parameters_internal(parameters)];
}
}