1 29 30 package com.caucho.quercus.env; 31 32 import java.io.Serializable ; 33 34 39 public class ArgGetValue extends Value 40 implements Serializable 41 { 42 private final Value _obj; 43 private final Value _index; 44 45 public ArgGetValue(Value obj, Value index) 46 { 47 _obj = obj; 48 _index = index; 49 } 50 51 55 public Value getArg(Value index) 56 { 57 return new ArgGetValue(this, index); } 59 60 64 public Value getFieldArg(Env env, String index) 65 { 66 return new ArgGetFieldValue(env, this, index); } 68 69 72 @Override 73 public Var toRefVar() 74 { 75 return _obj.getArgRef(_index).toRefVar(); 77 } 78 79 82 @Override 83 public Value toRefValue() 84 { 85 return _obj.getArgRef(_index); 87 } 88 89 92 @Override 93 public Value toValue() 94 { 95 return _obj.get(_index); 96 } 97 98 101 @Override 102 public Value toArgValueReadOnly() 103 { 104 return _obj.get(_index); 105 } 106 107 110 @Override 111 public Value toArgValue() 112 { 113 return toValue(); 114 } 115 116 119 public Var toVar() 120 { 121 return new Var(); 123 } 124 125 128 public Value getArgRef(Value index) 129 { 130 return _obj.getArray(_index).getRef(index); } 132 133 136 public Value getFieldObject(Env env, String index) 137 { 138 return _obj.getObject(env, _index).getFieldObject(env, index); 139 } 140 141 144 public Value getFieldRef(Env env, String index) 145 { 146 return _obj.getObject(env, _index).getFieldRef(env, index); 148 } 149 150 154 public Object writeReplace() 155 { 156 return toValue(); 157 } 158 } 159 160 | Popular Tags |