if (expr) context.getVariableCompiler().retrieveLocalVariable(dvarNode.getIndex(), dvarNode.getDepth());
}
public void compileDXStr(Node node, BodyCompiler context, boolean expr) {
final DXStrNode dxstrNode = (DXStrNode) node;
final ArrayCallback dstrCallback = new ArrayCallback() {
public void nextValue(BodyCompiler context, Object sourceArray,
int index) {
compile(dxstrNode.get(index), context,true);
}
};
ArgumentsCallback argsCallback = new ArgumentsCallback() {
public int getArity() {
return 1;
}
public void call(BodyCompiler context) {
context.createNewString(dstrCallback, dxstrNode.size());
}
};
context.getInvocationCompiler().invokeDynamic("`", null, argsCallback, CallType.FUNCTIONAL, null, false);
// TODO: don't require pop