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_5 extends CompiledMethod { 43 private static final Logger log 44 = Logger.getLogger(CompiledMethod_5.class.getName()); 45 private static final L10N L = new L10N(CompiledMethod_5.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 private Expr _default_4; 53 54 public CompiledMethod_5(String name, 55 Expr default_0, 56 Expr default_1, 57 Expr default_2, 58 Expr default_3, 59 Expr default_4) 60 { 61 _name = name; 62 _default_0 = default_0; 63 _default_1 = default_1; 64 _default_2 = default_2; 65 _default_3 = default_3; 66 _default_4 = default_4; 67 } 68 69 75 public Expr []bindArguments(Env env, Expr fun, Expr []args) 76 { 77 if (args.length != 5) 78 env.warning(L.l("incorrect")); 79 80 return args; 81 } 82 83 86 public Value callMethod(Env env, Value obj, Value []argValues) 87 { 88 switch (argValues.length) { 89 case 0: 90 return callMethod(env, 91 obj, 92 _default_0.eval(env), 93 _default_1.eval(env), 94 _default_2.eval(env), 95 _default_3.eval(env), 96 _default_4.eval(env)); 97 case 1: 98 return callMethod(env, 99 obj, 100 argValues[0], 101 _default_1.eval(env), 102 _default_2.eval(env), 103 _default_3.eval(env), 104 _default_4.eval(env)); 105 case 2: 106 return callMethod(env, 107 obj, 108 argValues[0], 109 argValues[1], 110 _default_2.eval(env), 111 _default_3.eval(env), 112 _default_4.eval(env)); 113 case 3: 114 return callMethod(env, 115 obj, 116 argValues[0], 117 argValues[1], 118 argValues[2], 119 _default_3.eval(env), 120 _default_4.eval(env)); 121 case 4: 122 return callMethod(env, 123 obj, 124 argValues[0], 125 argValues[1], 126 argValues[2], 127 argValues[3], 128 _default_4.eval(env)); 129 case 5: 130 default: 131 return callMethod(env, 132 obj, 133 argValues[0], 134 argValues[1], 135 argValues[2], 136 argValues[3], 137 argValues[4]); 138 } 139 } 140 141 abstract public Value callMethod(Env env, 142 Value obj, 143 Value a1, 144 Value a2, 145 Value a3, 146 Value a4, 147 Value a5); 148 149 public String toString() 150 { 151 return "CompiledMethod_5[" + _name + "]"; 152 } 153 } 154 155 | Popular Tags |