AssignOperation.ceylon
import ceylon.ast.core {
AssignOperation,
ThenElseExpression,
AssigningExpression
}
import ceylon.ast.redhat {
RedHatTransformer,
assignOperationToCeylon,
compileAssignOperation
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JAssignOp=AssignOp
}
}
shared object assignOperation satisfies ConcreteTest<AssignOperation,JAssignOp> {
String->AssignOperation construct(String->ThenElseExpression left, String->AssigningExpression right)
=> "``left.key``=``right.key``"->AssignOperation(left.item, right.item);
shared String->AssignOperation iAssign1Expression = construct(baseExpression.iExpression, integerLiteral.oneIntegerLiteral);
shared String->AssignOperation textAssignExpression = construct(baseExpression.textExpression, sumOperation.helloPlusNameElseWorldPlusBangExpression);
// not tested directly, but used by other tests
shared String->AssignOperation nameEmptyAssignTrueExpression = construct(qualifiedExpression.nameEmptyExpression, baseExpression.trueExpression);
compile = compileAssignOperation;
fromCeylon = RedHatTransformer.transformAssignOperation;
toCeylon = assignOperationToCeylon;
codes = [iAssign1Expression, textAssignExpression];
}