void CheckTimestamp ( ) { if (evalTimestamp != CorDebuggerSession.EvaluationTimestamp) { thread = null; frame = null; corEval = null; } }
public CorEvalEventArgs(CorAppDomain appDomain, CorThread thread, CorEval eval, ManagedCallbackType callbackType) : base(appDomain, thread, callbackType) { m_eval = eval; }
public CorEvalEventArgs(CorAppDomain appDomain, CorThread thread, CorEval eval) : base(appDomain, thread) { m_eval = eval; }
// extensions might want to use this command stop reason // to signal finish of custom func-eval /// <summary> /// Creates a new instance of the EvalExceptionStopReason object. /// </summary> /// <param name="eval">The Function Evaluation that caused the exception.</param> public EvalExceptionStopReason(CorEval eval) : base(eval) { }
// extensions might want to use this command stop reason // to signal finish of custom func-eval /// <summary> /// Creates a new instance of the EvalCompleteStopReason object. /// </summary> /// <param name="eval">The Function Evaluation that has completed.</param> public EvalCompleteStopReason(CorEval eval) { Debug.Assert(eval != null); m_eval = eval; }
/// <summary> /// Register a Custom Eval. /// </summary> /// <param name="eval">The CorEval to register.</param> /// <param name="handler">The CustomEvalEventHandler to use.</param> public void RegisterCustomEval(CorEval eval, CustomEvalEventHandler handler) { Debug.Assert(eval != null); if (eval == null) throw new ArgumentException("cannot be null", "eval"); if (handler == null) { // explicit deregistration if (customEvals != null) customEvals.Remove(eval); } else { // adding registration if (customEvals == null) customEvals = new ListDictionary(); else if (customEvals.Contains(eval)) throw new InvalidOperationException("Handler alrady registered for the custom eval"); customEvals.Add(eval, handler); } }