AddAssignmentOperation.ceylon
import ceylon.ast.core {
AddAssignmentOperation,
ThenElseExpression,
AssigningExpression
}
import ceylon.ast.redhat {
RedHatTransformer,
addAssignmentOperationToCeylon,
compileAddAssignmentOperation
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JAddAssignOp=AddAssignOp
}
}
shared object addAssignmentOperation satisfies ConcreteTest<AddAssignmentOperation,JAddAssignOp> {
String->AddAssignmentOperation construct(String->ThenElseExpression left, String->AssigningExpression right)
=> "``left.key``+=``right.key``"->AddAssignmentOperation(left.item, right.item);
shared String->AddAssignmentOperation iAddAssignStepExpression = construct(baseExpression.iExpression, baseExpression.stepExpression);
shared String->AddAssignmentOperation iAddAssignIfExpression = construct(baseExpression.iExpression, ifElseExpression.ifThen1Else1Expression);
compile = compileAddAssignmentOperation;
fromCeylon = RedHatTransformer.transformAddAssignmentOperation;
toCeylon = addAssignmentOperationToCeylon;
codes = [iAddAssignStepExpression, iAddAssignIfExpression];
}