if (isSecureProcessing) {
int index = cpg.addMethodref(BASIS_LIBRARY_CLASS,
"unallowed_extension_elementF",
"(Ljava/lang/String;)V");
il.append(new PUSH(cpg, "redirect"));
il.append(new INVOKESTATIC(index));
return;
}
// Save the current output handler on the stack
il.append(methodGen.loadHandler());
final int open = cpg.addMethodref(TRANSLET_CLASS,
"openOutputHandler",
"(" + STRING_SIG + "Z)" +
TRANSLET_OUTPUT_SIG);
final int close = cpg.addMethodref(TRANSLET_CLASS,
"closeOutputHandler",
"("+TRANSLET_OUTPUT_SIG+")V");
// Create the new output handler (leave it on stack)
il.append(classGen.loadTranslet());
_filename.translate(classGen, methodGen);
il.append(new PUSH(cpg, _append));
il.append(new INVOKEVIRTUAL(open));
// Overwrite current handler
il.append(methodGen.storeHandler());