Beispiel #1
0
        private void onDebugEvent(JavaScriptDiagDebugEvent debugEvent, JavaScriptValue eventData, IntPtr callbackState)
        {
            if (IsDebugging)
            {
                string data = null;
                if (eventData.IsValid)
                {
                    data = eventData.ToJsonString();
                }
                OnDebugEvent?.Invoke(this, new DebugEventArguments()
                {
                    EventType = debugEvent, EventData = data
                });
                switch (debugEvent)
                {
                case JavaScriptDiagDebugEvent.JsDiagDebugEventSourceCompile:

                    OnScriptLoad?.Invoke(this, JsonConvert.DeserializeObject <SourceCode>(data));
                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventRuntimeException:
                    runner.With(() =>
                    {
                        OnException(this, JsonConvert.DeserializeObject <RuntimeException>(data));
                        stepASE.WaitOne();
                    });

                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventStepComplete:
                    runner.With(() =>
                    {
                        OnStepComplete(this, JsonConvert.DeserializeObject <BreakPoint>(data));
                        stepASE.WaitOne();
                    });

                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventBreakpoint:
                    runner.With(() =>
                    {
                        OnBreakPoint(this, JsonConvert.DeserializeObject <BreakPoint>(data));
                        stepASE.WaitOne();
                    });

                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventAsyncBreak:
                    runner.With(() =>
                    {
                        OnAsyncBreak(this, JsonConvert.DeserializeObject <BreakPoint>(data));
                        stepASE.WaitOne();
                    });

                    break;

                default:
                    break;
                }
            }
            else
            {
                throw new InvalidOperationException("Invalid internal state, debug evnet occured while debug is turned off");
            }
        }
Beispiel #2
0
        private void onDebugEvent(JavaScriptDiagDebugEvent debugEvent, JavaScriptValue eventData, IntPtr callbackState)
        {
            if (IsDebugging)
            {
                string data = null;
                if (eventData.IsValid)
                {
                    data = eventData.ToJsonString();
                }
                //DebugEngine engine;
                //runner.With(() =>
                //{
                OnDebugEvent?.Invoke(this, new DebugEventArguments()
                {
                    EventType = debugEvent, EventData = data
                });
                //});
                switch (debugEvent)
                {
                case JavaScriptDiagDebugEvent.JsDiagDebugEventSourceCompile:

                    OnScriptLoad?.Invoke(this, JsonConvert.DeserializeObject <SourceCode>(data));
                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventRuntimeException:
                    runner.With(() =>
                    {
                        OnException?.Invoke(this, JsonConvert.DeserializeObject <RuntimeException>(data));
                        stepASE.WaitOne();
                    });

                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventStepComplete:
                    runner.With(() =>
                    {
                        OnStepComplete?.Invoke(this, JsonConvert.DeserializeObject <BreakPoint>(data));
                        stepASE.WaitOne();
                    });

                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventBreakpoint:
                    runner.With(() =>
                    {
                        OnBreakPoint?.Invoke(this, JsonConvert.DeserializeObject <BreakPoint>(data));
                        stepASE.WaitOne();
                    });

                    break;

                case JavaScriptDiagDebugEvent.JsDiagDebugEventAsyncBreak:
                    runner.With(() =>
                    {
                        OnAsyncBreak?.Invoke(this, JsonConvert.DeserializeObject <BreakPoint>(data));
                        stepASE.WaitOne();
                    });

                    break;

                default:
                    break;
                }
            }
        }