/** * Evaluates the expression. * * @param env the calling environment. * * @return the expression value. */ public Value eval(Env env) { QuercusClass cl = env.findClass(_className); if (cl == null) { env.error(L.l("no matching class {0}", _className), getLocation()); } Value [] values = evalArgs(env, _args); Value oldThis = env.getThis(); // php/09qe Value qThis = oldThis; env.pushCall(this, cl, values); try { env.checkTimeout(); return(cl.callConstructor(env, qThis, values)); } finally { env.popCall(); env.setThis(oldThis); } }