Parameters.ceylon
import ceylon.ast.core {
Parameter,
Parameters
}
import ceylon.ast.redhat {
RedHatTransformer,
parametersToCeylon,
compileParameters
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JParameterList=ParameterList
}
}
shared object parameters satisfies ConcreteTest<Parameters,JParameterList> {
String->Parameters construct(<String->Parameter>[] parameters)
=> "(``",".join(parameters*.key)``)"->Parameters(parameters*.item);
shared String->Parameters emptyParameters = construct([]);
shared String->Parameters notEmptyParameters = construct([
parameterReference.lidParameterReference, valueParameter.annotatedStringLidValueParameter,
defaultedValueParameter.dynamicByDefaultsto0DefaultedValueParameter,
variadicParameter.floatStarLidVariadicParameter]);
// not tested directly, but used by other tests
shared String->Parameters charactersParameters = construct([variadicParameter.charactersVariadicParameter]);
shared String->Parameters thatParameters = construct([valueParameter.objectThatParameter]);
shared String->Parameters xyParameters = construct([parameterReference.xParameterReference, parameterReference.yParameterReference]);
shared String->Parameters rphiParameters = construct([parameterReference.rParameterReference, parameterReference.phiParameterReference]);
compile = compileParameters;
fromCeylon = RedHatTransformer.transformParameters;
toCeylon = parametersToCeylon;
codes = [emptyParameters, notEmptyParameters];
}