1 29 30 package com.caucho.quercus.program; 31 32 import com.caucho.quercus.env.Env; 33 import com.caucho.quercus.env.Value; 34 import com.caucho.quercus.expr.Expr; 35 import com.caucho.util.L10N; 36 37 import java.util.logging.Logger ; 38 39 42 abstract public class CompiledFunction_1 extends CompiledFunction { 43 private static final Logger log 44 = Logger.getLogger(CompiledFunction_1.class.getName()); 45 private static final L10N L = new L10N(CompiledFunction_1.class); 46 47 private String _name; 48 private Expr _default_0; 49 50 public CompiledFunction_1(String name, Expr default_0) 51 { 52 _name = name; 53 _default_0 = default_0; 54 } 55 56 62 public Expr []bindArguments(Env env, Expr fun, Expr []args) 63 { 64 if (args.length > 1) 65 log.fine(L.l(env.getLocation().getMessagePrefix() + "incorrect number of arguments" + env.getFunctionLocation())); 66 67 return args; 68 } 69 70 public Value call(Env env, Value []argValues) 71 { 72 switch (argValues.length) { 73 case 0: 74 return call(env, _default_0.eval(env)); 75 case 1: 76 default: 77 return call(env, argValues[0]); 78 } 79 } 80 81 public String toString() 82 { 83 return "CompiledFunction_1[" + _name + "]"; 84 } 85 } 86 87 | Popular Tags |