Comprehension.ceylon
import ceylon.ast.core {
Comprehension,
InitialComprehensionClause
}
import ceylon.ast.redhat {
RedHatTransformer,
comprehensionToCeylon,
compileComprehension
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JComprehension=Comprehension
}
}
shared object comprehension satisfies ConcreteTest<Comprehension,JComprehension> {
String->Comprehension construct(String->InitialComprehensionClause clause)
=> "``clause.key``"->Comprehension(clause.item);
shared String->Comprehension ifTrueCommaAAndBThenIComprehension = construct(ifComprehensionClause.ifTrueCommaAAndBThenIComprehensionClause);
shared String->Comprehension forPersonInPeopleComprehension = construct(forComprehensionClause.forPersonInPeopleComprehensionClause);
// TODO better tests
compile = compileComprehension;
fromCeylon = RedHatTransformer.transformComprehension;
toCeylon = comprehensionToCeylon;
codes = [ifTrueCommaAAndBThenIComprehension, forPersonInPeopleComprehension];
}