1 29 30 package com.caucho.quercus.env; 31 32 import com.caucho.quercus.expr.Expr; 33 import com.caucho.quercus.program.AbstractFunction; 34 import com.caucho.vfs.WriteStream; 35 36 import java.io.IOException ; 37 import java.io.Serializable ; 38 import java.util.Collection ; 39 import java.util.IdentityHashMap ; 40 41 44 public class RefVar extends Value 45 implements Serializable 46 { 47 private Var _var; 48 49 public RefVar(Var var) 50 { 51 _var = var; 52 } 53 54 57 public boolean isA(String name) 58 { 59 return _var.isA(name); 60 } 61 62 65 public boolean isLongConvertible() 66 { 67 return _var.isLongConvertible(); 68 } 69 70 73 public boolean isDoubleConvertible() 74 { 75 return _var.isDoubleConvertible(); 76 } 77 78 81 public boolean isNumberConvertible() 82 { 83 return _var.isNumberConvertible(); 84 } 85 86 89 public boolean toBoolean() 90 { 91 return _var.toBoolean(); 92 } 93 94 97 public long toLong() 98 { 99 return _var.toLong(); 100 } 101 102 105 public double toDouble() 106 { 107 return _var.toDouble(); 108 } 109 110 114 public StringValue toString(Env env) 115 { 116 return _var.toString(env); 117 } 118 119 122 public Value toObject(Env env) 123 { 124 return _var.toObject(env); 125 } 126 127 130 public Object toJavaObject() 131 { 132 return _var.toJavaObject(); 133 } 134 135 138 public Value toValue() 139 { 140 return _var.toValue(); 141 } 142 143 146 public boolean isArray() 147 { 148 return _var.isArray(); 149 } 150 151 154 public Value copy() 155 { 156 return this; 158 } 159 160 163 @Override 164 public Value toArgValueReadOnly() 165 { 166 return _var; 167 } 168 169 172 @Override 173 public Value toArgValue() 174 { 175 return _var; 177 } 178 179 182 @Override 183 public Value toRefValue() 184 { 185 return _var; 186 } 187 188 191 @Override 192 public Var toVar() 193 { 194 return _var; 195 } 196 197 200 @Override 201 public Var toRefVar() 202 { 203 return _var; 204 } 205 206 209 public Value neg() 210 { 211 return _var.neg(); 212 } 213 214 217 public Value add(Value rValue) 218 { 219 return _var.add(rValue); 220 } 221 222 225 public Value add(long rValue) 226 { 227 return _var.add(rValue); 228 } 229 230 233 public Value preincr(int incr) 234 { 235 return _var.preincr(incr); 236 } 237 238 241 public Value postincr(int incr) 242 { 243 return _var.postincr(incr); 244 } 245 246 249 public Value sub(Value rValue) 250 { 251 return _var.sub(rValue); 252 } 253 254 257 public Value mul(Value rValue) 258 { 259 return _var.mul(rValue); 260 } 261 262 265 public Value mul(long lValue) 266 { 267 return _var.mul(lValue); 268 } 269 270 273 public Value div(Value rValue) 274 { 275 return _var.div(rValue); 276 } 277 278 281 public Value lshift(Value rValue) 282 { 283 return _var.lshift(rValue); 284 } 285 286 289 public Value rshift(Value rValue) 290 { 291 return _var.rshift(rValue); 292 } 293 294 297 public boolean eql(Value rValue, Env env) 298 { 299 return _var.equals(rValue.toValue()); 300 } 301 302 305 public int getSize() 306 { 307 return _var.getSize(); 308 } 309 310 313 public Collection <Value> getIndices() 314 { 315 return _var.getIndices(); 316 } 317 318 321 public Value []getKeyArray() 322 { 323 return _var.getKeyArray(); 324 } 325 326 329 public Value []getValueArray(Env env) 330 { 331 return _var.getValueArray(env); 332 } 333 334 337 public Value get(Value index) 338 { 339 return _var.get(index); 340 } 341 342 345 public Value getRef(Value index) 346 { 347 return _var.getRef(index); 348 } 349 350 353 public Value put(Value index, Value value) 354 { 355 return _var.put(index, value); 356 } 357 358 361 public Value put(Value value) 362 { 363 return _var.put(value); 364 } 365 366 369 375 376 379 public Value callMethod(Env env, String methodName, Expr []args) 380 { 381 return _var.callMethod(env, methodName, args); 382 } 383 384 387 public Value callMethod(Env env, String methodName, Value []args) 388 { 389 return _var.callMethod(env, methodName, args); 390 } 391 392 395 public Value callMethod(Env env, String methodName) 396 { 397 return _var.callMethod(env, methodName); 398 } 399 400 403 public Value callMethod(Env env, String methodName, Value a0) 404 { 405 return _var.callMethod(env, methodName, a0); 406 } 407 408 411 public Value callMethod(Env env, String methodName, Value a0, Value a1) 412 { 413 return _var.callMethod(env, methodName, a0, a1); 414 } 415 416 419 public Value callMethod(Env env, String methodName, 420 Value a0, Value a1, Value a2) 421 { 422 return _var.callMethod(env, methodName, a0, a1, a2); 423 } 424 425 428 public Value callMethod(Env env, String methodName, 429 Value a0, Value a1, Value a2, Value a3) 430 { 431 return _var.callMethod(env, methodName, a0, a1, a2, a3); 432 } 433 434 437 public Value callMethod(Env env, String methodName, 438 Value a0, Value a1, Value a2, Value a3, Value a4) 439 { 440 return _var.callMethod(env, methodName, a0, a1, a2, a3, a4); 441 } 442 443 446 public Value callMethodRef(Env env, String methodName, Expr []args) 447 { 448 return _var.callMethodRef(env, methodName, args); 449 } 450 451 454 public Value callMethodRef(Env env, String methodName, Value []args) 455 { 456 return _var.callMethodRef(env, methodName, args); 457 } 458 459 462 public Value callMethodRef(Env env, String methodName) 463 { 464 return _var.callMethodRef(env, methodName); 465 } 466 467 470 public Value callMethodRef(Env env, String methodName, Value a0) 471 { 472 return _var.callMethodRef(env, methodName, a0); 473 } 474 475 478 public Value callMethodRef(Env env, String methodName, Value a0, Value a1) 479 { 480 return _var.callMethodRef(env, methodName, a0, a1); 481 } 482 483 486 public Value callMethodRef(Env env, String methodName, 487 Value a0, Value a1, Value a2) 488 { 489 return _var.callMethodRef(env, methodName, a0, a1, a2); 490 } 491 492 495 public Value callMethodRef(Env env, String methodName, 496 Value a0, Value a1, Value a2, Value a3) 497 { 498 return _var.callMethodRef(env, methodName, a0, a1, a2, a3); 499 } 500 501 504 public Value callMethodRef(Env env, String methodName, 505 Value a0, Value a1, Value a2, Value a3, Value a4) 506 { 507 return _var.callMethodRef(env, methodName, a0, a1, a2, a3, a4); 508 } 509 510 513 public Value callClassMethod(Env env, AbstractFunction fun, Value []args) 514 { 515 return _var.callClassMethod(env, fun, args); 516 } 517 518 522 public void print(Env env) 523 { 524 _var.print(env); 525 } 526 527 public void varDumpImpl(Env env, 528 WriteStream out, 529 int depth, 530 IdentityHashMap <Value,String > valueSet) 531 throws IOException 532 { 533 out.print("&"); 534 toValue().varDumpImpl(env, out, depth, valueSet); 535 } 536 537 protected void printRImpl(Env env, 538 WriteStream out, 539 int depth, 540 IdentityHashMap <Value, String > valueSet) 541 throws IOException 542 { 543 toValue().printRImpl(env, out, depth, valueSet); 544 } 545 546 550 public Object writeReplace() 551 { 552 return _var; 553 } 554 } 555 556 | Popular Tags |