1 29 30 package com.caucho.quercus.env; 31 32 35 public class ArgGetFieldValue extends Value { 36 private final Env _env; 37 private final Value _obj; 38 private final String _index; 39 40 public ArgGetFieldValue(Env env, Value obj, String index) 41 { 42 _env = env; 43 _obj = obj; 44 _index = index; 45 } 46 47 50 public Value getArg(Value index) 51 { 52 return new ArgGetValue(this, index); 54 } 55 56 59 @Override 60 public Value getFieldArg(Env env, String index) 61 { 62 return new ArgGetFieldValue(env, this, index); 64 } 65 66 69 @Override 70 public Var toRefVar() 71 { 72 return _obj.getFieldRef(_env, _index).toRefVar(); 74 } 75 76 79 @Override 80 public Value toValue() 81 { 82 return _obj.getField(_env, _index); 83 } 84 85 88 @Override 89 public Value toArgValueReadOnly() 90 { 91 return toValue(); 92 } 93 94 97 @Override 98 public Value toArgValue() 99 { 100 return toValue(); 101 } 102 103 106 @Override 107 public Value toRefValue() 108 { 109 return _obj.getFieldRef(_env, _index); 110 } 111 112 115 public Var toVar() 116 { 117 return new Var(); 118 } 119 120 123 public Value getArgRef(Value index) 124 { 125 return _obj.getFieldArray(_env, _index).getArgRef(index); 127 } 128 129 132 public Value getFieldRef(Env env, String index) 133 { 134 return _obj.getFieldObject(_env, _index).getFieldRef(_env, index); 136 } 137 138 public String toString() 139 { 140 return "Arg[" + _obj + "->" + _index + "]"; 141 } 142 } 143 144 | Popular Tags |