OrOperation.ceylon
import ceylon.ast.core {
OrOperation,
ConjoiningExpression,
DisjoiningExpression
}
import ceylon.ast.redhat {
RedHatTransformer,
orOperationToCeylon,
compileOrOperation
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JOrOp=OrOp
}
}
shared object orOperation satisfies ConcreteTest<OrOperation,JOrOp> {
String->OrOperation construct(String->DisjoiningExpression left, String->ConjoiningExpression right)
=> "``left.key``||``right.key``"->OrOperation(left.item, right.item);
shared String->OrOperation aOrBExpression = construct(baseExpression.aExpression, baseExpression.bExpression);
compile = compileOrOperation;
fromCeylon = RedHatTransformer.transformOrOperation;
toCeylon = orOperationToCeylon;
codes = [aOrBExpression];
}