/// <nodoc/> public RemoteDebugger(DebuggerState state, PathTranslator buildXLToUserPathTranslator, Socket clientSocket) : base(true, false) { m_state = state; m_clientSocket = clientSocket; Session = new DebugSession(state, buildXLToUserPathTranslator, this); }
/// <summary> /// Constructor. /// </summary> /// /// <param name="state"> /// Shared debugger state. Must be thread-safe, since it will be accessed /// by this class from multiple DScript evaluation threads (tasks). /// </param> /// <param name="debugger"> /// Debugger to notify when a thread is stopped /// </param> public NodeEvalManager(DebuggerState state, IDebugger debugger) { Contract.Requires(state != null); Contract.Requires(debugger != null); m_state = state; m_debugger = debugger; }
/// <nodoc/> public DebugSession(DebuggerState state, PathTranslator buildXLToUserPathTranslator, IDebugger debugger) { m_state = state; m_buildXLToUserPathTranslator = buildXLToUserPathTranslator; m_userToBuildXLPathTranslator = buildXLToUserPathTranslator?.GetInverse(); Debugger = debugger; m_renderer = new Renderer(state); m_expressionEvaluator = new ExpressionEvaluator(state); }
/// <summary>Constructor, accepting a task returning an <see cref="IDebugger"/></summary> public EvaluationDecorator(IDebugger debugger, DebuggerState state, bool breakOnExit) { Contract.Requires(debugger != null); Contract.Requires(state != null); m_debugger = debugger; m_breakOnExit = breakOnExit; m_nodeEvalManager = new NodeEvalManager(state, debugger); }
/// <nodoc/> public DebugSession(DebuggerState state, PathTranslator buildXLToUserPathTranslator, IDebugger debugger) { State = state; m_taskSource = new TaskCompletionSource <Unit>(); m_buildXLToUserPathTranslator = buildXLToUserPathTranslator; m_userToBuildXLPathTranslator = buildXLToUserPathTranslator?.GetInverse(); Debugger = debugger; Renderer = new Renderer(state.LoggingContext, state.PathTable, state.CustomRenderer); }
/// <nodoc/> public DebugServer(LoggingContext loggingContext, PathTable pathTable, PathTranslator buildXLToUserPathTranslator, int port) { m_logger = Tracing.Logger.CreateLogger(); m_loggingContext = loggingContext; m_buildXLToUserPathTranslator = buildXLToUserPathTranslator; m_state = new DebuggerState(pathTable, m_loggingContext, m_logger); Port = port; m_serverSocket = new TcpListener(IPAddress.Parse("127.0.0.1"), port); m_serverStarted = False; m_serverShutDown = False; }
/// <nodoc /> public ExpressionEvaluator(DebuggerState state) { m_state = state; var configuration = new AstConversionConfiguration( policyRules: Enumerable.Empty <string>(), disableLanguagePolicies: false); s_parser = new RuntimeModelFactory( m_logger, m_state.LoggingContext, new FrontEndStatistics(), configuration, workspace: null); }
/// <nodoc /> public Renderer(DebuggerState state) { m_state = state; }