CaseTypes.ceylon
import ceylon.ast.core {
CaseTypes,
MemberName,
PrimaryType
}
import ceylon.ast.redhat {
RedHatTransformer,
caseTypesToCeylon,
compileCaseTypes
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JCaseTypes=CaseTypes
}
}
shared object caseTypes satisfies ConcreteTest<CaseTypes,JCaseTypes> {
String->CaseTypes construct(<String->PrimaryType|MemberName>+ caseTypes)
=> "of ``"|".join(caseTypes*.key)``"->CaseTypes(caseTypes*.item);
shared String->CaseTypes ofStringIntegerFloatCaseTypes = construct(baseType.stringType, baseType.integerType, baseType.floatType);
// not tested directly, but used by other tests
shared String->CaseTypes ofNullCaseTypes = construct(identifier.nullLIdentifier);
compile = compileCaseTypes;
fromCeylon = RedHatTransformer.transformCaseTypes;
toCeylon = caseTypesToCeylon;
codes = [ofStringIntegerFloatCaseTypes];
}