public InterpretedClosure(Env env, AbstractFunction fun, Value qThis) { super(fun.getName(), qThis); _fun = fun; Arg [] args = fun.getClosureUseArgs(); if (args != null && args.length > 0) { _args = new Value[args.length]; for (int i = 0; i < args.length; i++) { Arg arg = args[i]; if (arg.isReference()) { _args[i] = env.getRef(arg.getName()); } else { _args[i] = env.getValue(arg.getName()); } } } else { _args = null; } }