context.createNewString(strNode.getValue());
}
}
public void compileSuper(Node node, BodyCompiler context) {
final SuperNode superNode = (SuperNode) node;
CompilerCallback argsCallback = new CompilerCallback() {
public void call(BodyCompiler context) {
compileArguments(superNode.getArgsNode(), context);
}
};
if (superNode.getIterNode() == null) {
// no block, go for simple version
if (superNode.getArgsNode() != null) {
context.getInvocationCompiler().invokeSuper(argsCallback, null);
} else {
context.getInvocationCompiler().invokeSuper(null, null);
}
} else {
CompilerCallback closureArg = getBlock(superNode.getIterNode());
if (superNode.getArgsNode() != null) {
context.getInvocationCompiler().invokeSuper(argsCallback, closureArg);
} else {
context.getInvocationCompiler().invokeSuper(null, closureArg);
}
}