// TODO: don't require pop
if (!expr) context.consumeCurrentValue();
}
public void compileOpElementAsgnWithAnd(Node node, BodyCompiler context, boolean expr) {
final OpElementAsgnNode opElementAsgnNode = (OpElementAsgnNode) node;
CompilerCallback receiverCallback = new CompilerCallback() {
public void call(BodyCompiler context) {
compile(opElementAsgnNode.getReceiverNode(), context, true);
}
};
ArgumentsCallback argsCallback = new OpElementAsgnArgumentsCallback(opElementAsgnNode.getArgsNode());
CompilerCallback valueCallback = new CompilerCallback() {
public void call(BodyCompiler context) {
compile(opElementAsgnNode.getValueNode(), context, true);
}
};
context.getInvocationCompiler().opElementAsgnWithAnd(receiverCallback, argsCallback, valueCallback);
// TODO: don't require pop