Assertion.ceylon
import ceylon.ast.core {
Annotations,
Assertion,
Conditions
}
import ceylon.ast.redhat {
RedHatTransformer,
assertionToCeylon,
compileAssertion
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JAssertion=Assertion
}
}
shared object assertion satisfies ConcreteTest<Assertion,JAssertion> {
String->Assertion construct(String->Conditions conditions, String->Annotations annotations = package.annotations.emptyAnnotations)
=> "``annotations.key`` assert``conditions.key``;"->Assertion(conditions.item, annotations.item);
shared String->Assertion unannotatedAssertion = construct(conditions.trueCommaAAndBConditions);
shared String->Assertion annotatedAssertion = construct(conditions.trueCommaAAndBConditions, annotations.helloSharedByLucasAnnotations);
compile = compileAssertion;
fromCeylon = RedHatTransformer.transformAssertion;
toCeylon = assertionToCeylon;
codes = [unannotatedAssertion, annotatedAssertion];
}