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_4 extends CompiledMethod { 43 private static final Logger log 44 = Logger.getLogger(CompiledMethod_4.class.getName()); 45 private static final L10N L = new L10N(CompiledMethod_4.class); 46 47 private String _name; 48 private Expr _default_0; 49 private Expr _default_1; 50 private Expr _default_2; 51 private Expr _default_3; 52 53 public CompiledMethod_4(String name, 54 Expr default_0, 55 Expr default_1, 56 Expr default_2, 57 Expr default_3) 58 { 59 _name = name; 60 _default_0 = default_0; 61 _default_1 = default_1; 62 _default_2 = default_2; 63 _default_3 = default_3; 64 } 65 66 72 public Expr []bindArguments(Env env, Expr fun, Expr []args) 73 { 74 if (args.length != 4) 75 env.warning(L.l("incorrect")); 76 77 return args; 78 } 79 80 83 public Value callMethod(Env env, Value obj, Value []argValues) 84 { 85 switch (argValues.length) { 86 case 0: 87 return callMethod(env, 88 obj, 89 _default_0.eval(env), 90 _default_1.eval(env), 91 _default_2.eval(env), 92 _default_3.eval(env)); 93 case 1: 94 return callMethod(env, 95 obj, 96 argValues[0], 97 _default_1.eval(env), 98 _default_2.eval(env), 99 _default_3.eval(env)); 100 case 2: 101 return callMethod(env, 102 obj, 103 argValues[0], 104 argValues[1], 105 _default_2.eval(env), 106 _default_3.eval(env)); 107 case 3: 108 return callMethod(env, 109 obj, 110 argValues[0], 111 argValues[1], 112 argValues[2], 113 _default_3.eval(env)); 114 case 4: 115 default: 116 return callMethod(env, 117 obj, 118 argValues[0], 119 argValues[1], 120 argValues[2], 121 argValues[3]); 122 } 123 } 124 125 abstract public Value callMethod(Env env, 126 Value obj, 127 Value a1, 128 Value a2, 129 Value a3, 130 Value a4); 131 132 public String toString() 133 { 134 return "CompiledMethod_4[" + _name + "]"; 135 } 136 } 137 138 | Popular Tags |