public FieldReference (EvaluationContext ctx, TargetStructObject thisobj, TargetType type, TargetFieldInfo field): base (ctx) { this.type = type; this.field = field; if (!field.IsStatic) this.thisobj = thisobj; }
AbstractVariable[] FieldsToNodes(TargetFieldInfo[] fields) { ArrayList nodes = new ArrayList(); foreach(TargetFieldInfo field in fields) { AbstractVariable node; try { TargetObject fobj = obj.GetField(stackFrame.Thread, field); node = VariableFactory.Create(field.Name, fobj, stackFrame); } catch { node = new ErrorVariable(field.Name, "Can not get field value"); } nodes.Add(node); } return (AbstractVariable[])nodes.ToArray(typeof(AbstractVariable)); }
protected void SetField(Thread target, TargetFieldInfo field, TargetObject obj) { ResolveClass (target); class_info.SetField (target, InstanceObject, field, obj); }
protected TargetObject GetField(Thread target, TargetFieldInfo field) { ResolveClass (target); return class_info.GetField (target, InstanceObject, field); }
public abstract void SetField(Thread thread, TargetStructObject instance, TargetFieldInfo field, TargetObject value);
public abstract TargetObject GetField(Thread thread, TargetStructObject instance, TargetFieldInfo field);