コード例 #1
0
 /// <nodoc/>
 public RemoteDebugger(DebuggerState state, PathTranslator buildXLToUserPathTranslator, Socket clientSocket)
     : base(true, false)
 {
     m_state        = state;
     m_clientSocket = clientSocket;
     Session        = new DebugSession(state, buildXLToUserPathTranslator, this);
 }
コード例 #2
0
ファイル: NodeEvalManager.cs プロジェクト: kittinap/kunnjae
        /// <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;
        }
コード例 #3
0
 /// <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);
 }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
 /// <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);
 }
コード例 #6
0
ファイル: DebugServer.cs プロジェクト: socat/BuildXL
        /// <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;
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
 /// <nodoc />
 public Renderer(DebuggerState state)
 {
     m_state = state;
 }