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 CompiledMethod_1 extends CompiledMethod { 43 private static final Logger log 44 = Logger.getLogger(CompiledMethod_1.class.getName()); 45 private static final L10N L = new L10N(CompiledMethod_1.class); 46 47 private String _name; 48 private Expr _default_0; 49 50 public CompiledMethod_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 env.warning(L.l("incorrect")); 66 67 return args; 68 } 69 70 73 public Value callMethod(Env env, Value obj, Value []argValues) 74 { 75 switch (argValues.length) { 76 case 0: 77 return callMethod(env, obj, _default_0.eval(env)); 78 case 1: 79 default: 80 return callMethod(env, obj, argValues[0]); 81 } 82 } 83 84 87 public Value callMethod(Env env, Value obj) 88 { 89 return callMethod(env, obj, _default_0.eval(env)); 90 } 91 92 abstract public Value callMethod(Env env, Value obj, Value a1); 93 94 public String toString() 95 { 96 return "CompiledMethod_1[" + _name + "]"; 97 } 98 } 99 100 | Popular Tags |