} catch (IOException e) {
Logger.error(this, e.getMessage(), e);
throw new BSFException(BSFException.REASON_IO_ERROR, e.getMessage(), e);
}
QuercusProgram qp = null;
try {
qp = php.parseCode(code);
} catch (IOException e) {
Logger.error(this, e.getMessage(), e);
throw new BSFException(BSFException.REASON_IO_ERROR, e.getMessage(), e);
}
PHPEvalWrapper wrapper = new PHPEvalWrapper();
StringWriter sw = new StringWriter();
WriterStreamImpl writerImpl = new WriterStreamImpl();
writerImpl.setWriter(sw);
WriteStream writeStream = new WriteStream(writerImpl);
Env env = php.createEnv(page, writeStream, null, null);
env.start();
populateEnv(env);
page.executeTop(env);
Value v = qp.execute(env);
List<Function> funcs = qp.getFunctionList();
if(funcs != null){
wrapper.setFunctions(funcs);
}
PrintWriter pw = writeStream.getPrintWriter();