internal static ExpressionEvaluatorDispatcher Create(Microsoft.VisualStudio.Shell.Interop.IVsDebugger vsDebugger, IExpressionEvaluatorContainer container, IExpressionsCache expressionCache) { ExpressionEvaluatorDispatcher result = new ExpressionEvaluatorDispatcher(container, expressionCache); uint debugEventsCookie = VSConstants.VSCOOKIE_NIL; result._debuggerEvents = new DebuggerEvents(vsDebugger); result._debuggerEvents.OnEnterBreakMode += result.OnEnterBreakMode; result._debuggerEvents.OnEnterDesignMode += result.debuggerSink_OnEnterDesignMode; vsDebugger.AdviseDebuggerEvents(result._debuggerEvents, out debugEventsCookie).ThrowOnFailure(); return(result); }
public ExpressionEvaluator(IDebugStackFrame2 stackFrame, IExpressionsCache cache) { _stackFrame = stackFrame; _cache = cache; }
private IExpressionEvaluator GetExpressionEvaluator(IDebugThread2 debugThread, IExpressionsCache expressionCache) { var stackFrame = GetCurrentStackFrame(debugThread); return(new ExpressionEvaluator(stackFrame, expressionCache)); }
private ExpressionEvaluatorDispatcher(IExpressionEvaluatorContainer expressionEvaluatorContainer, IExpressionsCache expressionCache) { _expressionEvaluatorContainer = expressionEvaluatorContainer; _expressionCache = expressionCache; }