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 CorDebugValue RuntimeInvoke (CorDebugFunction function, CorDebugType[] typeArgs, CorDebugValue thisObj, CorDebugValue[] arguments) { return Session.RuntimeInvoke (this, function, typeArgs, thisObj, arguments); }
public CorDebugValue RuntimeInvoke (CorEvaluationContext corEvaluationContext, CorDebugFunction function, CorDebugType[] typeArgs, CorDebugValue thisObj, CorDebugValue[] arguments) { return null; }
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, 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 PropertyValueReference (EvaluationContext ctx, PropertyDefinition prop, CorValRef thisobj, CorDebugType declaringType) : this (ctx, prop, thisobj, declaringType, null) { }