public IDatatype error(Computer eval, Binding b, Environment env, Producer p, IDatatype... param) { return (IDatatype) env.getVisitor().error(env.getEval(), this, param); }
@Override public IDatatype eval(Expr exp, Environment env, Producer p) { if (env.getEval() == null) { logger.error("Environment getEval() = null in: "); logger.info(exp.toString()); } IDatatype dt = ((Expression) exp).eval(this, (Binding) env.getBind(), env, p); if (dt == null) { DatatypeValue res = env.getVisitor().error(env.getEval(), exp, EMPTY); if (res != null) { return (IDatatype) res; } } return dt; }
@Override public IDatatype eval(Expr exp, Environment env, Producer p) { if (env.getEval() == null) { logger.error("Environment getEval() = null in: "); logger.info(exp.toString()); } IDatatype dt = ((Expression) exp).eval(this, (Binding) env.getBind(), env, p); if (dt == null) { DatatypeValue res = env.getVisitor().error(env.getEval(), exp, EMPTY); if (res != null) { return (IDatatype) res; } } return dt; }