public FieldValueReference(EvaluationContext ctx, CorValRef thisobj, CorDebugType type, FieldDefinition field, string vname, ObjectValueFlags vflags) : base(ctx) { this.thisobj = thisobj; this.type = type; this.field = field; this.vname = vname; if (field.IsStatic) { this.thisobj = null; } flags = vflags | GetFlags(field); loader = delegate { return(((CorValRef)Value).Val); }; }
public PropertyValueReference(EvaluationContext ctx, PropertyDefinition prop, CorValRef thisobj, CorDebugType declaringType, CorValRef[] index) : base(ctx) { this.prop = prop; this.declaringType = declaringType; this.module = declaringType.Class.Assembly; this.index = index; if (!prop.GetMethod.IsStatic) { this.thisobj = thisobj; } flags = GetFlags(prop); loader = delegate { return(((CorValRef)Value).Val); }; }
public CorDebugValue NewArray(CorEvaluationContext ctx, CorDebugType elemType, int size) { return(null); // ManualResetEvent doneEvent = new ManualResetEvent (false); // CorDebugValue result = null; // // EvalEventHandler completeHandler = delegate (object o, CorEvalEventArgs eargs) { // OnEndEvaluating (); // result = eargs.Eval.Result; // doneEvent.Set (); // eargs.Continue = false; // }; // // EvalEventHandler exceptionHandler = delegate (object o, CorEvalEventArgs eargs) { // OnEndEvaluating (); // result = eargs.Eval.Result; // doneEvent.Set (); // eargs.Continue = false; // }; // // try { // process.OnEvalComplete += completeHandler; // process.OnEvalException += exceptionHandler; // // ctx.Eval.NewParameterizedArray (elemType, 1, 1, 0); // process.SetAllThreadsDebugState (CorDebugThreadState.THREAD_SUSPEND, ctx.Thread); // OnStartEvaluating (); // ClearEvalStatus (); // process.Continue (false); // // if (doneEvent.WaitOne (ctx.Options.EvaluationTimeout, false)) // return result; // else // return null; // } finally { // process.OnEvalComplete -= completeHandler; // process.OnEvalException -= exceptionHandler; // } }
public FieldValueReference(EvaluationContext ctx, CorValRef thisobj, CorDebugType type, FieldDefinition field) : this(ctx, thisobj, type, field, null, ObjectValueFlags.Field) { }
public PropertyValueReference(EvaluationContext ctx, PropertyDefinition prop, CorValRef thisobj, CorDebugType declaringType) : this(ctx, prop, thisobj, declaringType, null) { }