NamedArguments.ceylon
import ceylon.ast.core {
ArgumentList,
NamedArgument,
NamedArguments
}
import ceylon.ast.redhat {
RedHatTransformer,
namedArgumentsToCeylon,
compileNamedArguments
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JNamedArgumentList=NamedArgumentList
}
}
shared object namedArguments satisfies ConcreteTest<NamedArguments,JNamedArgumentList> {
String->NamedArguments construct(<String->NamedArgument>[] namedArguments, String->ArgumentList iterableArgument)
=> "{``"".join(namedArguments.collect(Entry<String,NamedArgument>.key))````iterableArgument.key``}"->NamedArguments(namedArguments*.item, iterableArgument.item);
shared String->NamedArguments emptyNamedArguments = construct([], argumentList.emptyArgumentList);
shared String->NamedArguments abcabcNamedArguments = construct([anonymousArgument.aTimesBPlusCAnonymousArgument], argumentList.abcArgumentList);
shared String->NamedArguments sizeSpecify0NamedArguments = construct([specifiedArgument.sizeSpecify0Argument], argumentList.emptyArgumentList);
compile = compileNamedArguments;
fromCeylon = RedHatTransformer.transformNamedArguments;
toCeylon = namedArgumentsToCeylon;
codes = [emptyNamedArguments, abcabcNamedArguments, sizeSpecify0NamedArguments];
}