From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001 From: giy <giy@omp-system.ru> Date: Fri, 02 Sep 2022 14:16:56 +0300 Subject: [PATCH] Обновление до версии 2.9.0 --- QtVsTools.Package/QML/Debugging/QmlDebugger.cs | 47 +++++++++++++++++++++-------------------------- 1 files changed, 21 insertions(+), 26 deletions(-) diff --git a/QtVsTools.Package/QML/Debugging/QmlDebugger.cs b/QtVsTools.Package/QML/Debugging/QmlDebugger.cs index 892a17d..b877956 100644 --- a/QtVsTools.Package/QML/Debugging/QmlDebugger.cs +++ b/QtVsTools.Package/QML/Debugging/QmlDebugger.cs @@ -26,18 +26,19 @@ ** ****************************************************************************/ -using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Threading.Tasks; -using QtVsTools.SyntaxAnalysis; -using static QtVsTools.SyntaxAnalysis.RegExpr; -using RegExprParser = QtVsTools.SyntaxAnalysis.RegExpr.Parser; namespace QtVsTools.Qml.Debug { + using Common; + using SyntaxAnalysis; using V4; + + using RegExprParser = SyntaxAnalysis.RegExpr.Parser; + + using static SyntaxAnalysis.RegExpr; struct FrameInfo { @@ -69,6 +70,8 @@ class QmlDebugger : Disposable, IMessageEventSink { + static LazyFactory StaticLazy { get; } = new LazyFactory(); + IDebuggerEventSink sink; ProtocolDriver driver; string connectionHostName; @@ -80,11 +83,11 @@ List<Request> outbox; Dictionary<int, IBreakpoint> breakpoints; - public bool Started { get; private set; } + private bool Started { get; set; } - public bool Running { get; private set; } + private bool Running { get; set; } - public string Version { get; private set; } + private string Version { get; set; } public uint? ThreadId { get { return driver.ThreadId; } } @@ -160,7 +163,7 @@ if (!Started) { Running = Started = true; LeaveCriticalSection(); - Task.Run(() => ConnectToDebugger()); + _ = Task.Run(() => ConnectToDebugger()); } else if (!Running) { Running = true; @@ -201,7 +204,7 @@ setBreakpoint.Arguments.Line = (int)breakpoint.Line; setBreakpoint.Tag = breakpoint; if (driver.ConnectionState == DebugClientState.Connected) - setBreakpoint.SendAsync(); + setBreakpoint.SendRequest(); else ThreadSafe(() => outbox.Add(setBreakpoint)); } @@ -231,7 +234,7 @@ var reqClearBreak = Message.Create<ClearBreakpointRequest>(driver); reqClearBreak.Arguments.Breakpoint = breakpointNum[breakpoint]; - reqClearBreak.SendAsync(); + reqClearBreak.SendRequest(); } void RefreshFrames() @@ -286,8 +289,7 @@ } else { foreach (int breakpointId in evtBreak.Body.Breakpoints) { - IBreakpoint breakpoint; - if (!breakpoints.TryGetValue(breakpointId, out breakpoint)) + if (!breakpoints.TryGetValue(breakpointId, out IBreakpoint breakpoint)) continue; breakpoint.NotifyBreak(); } @@ -406,20 +408,20 @@ { if (oldState != DebugClientState.Unavailable && newState == DebugClientState.Disconnected) { - Task.Run(() => sink.NotifyClientDisconnected()); + _ = Task.Run(() => sink.NotifyClientDisconnected()); } } void IMessageEventSink.NotifyRequestResponded(Request msgRequest) { if (msgRequest is SetBreakpointRequest) - Task.Run(() => SetBreakpointResponded(msgRequest as SetBreakpointRequest)); + _ = Task.Run(() => SetBreakpointResponded(msgRequest as SetBreakpointRequest)); } void IMessageEventSink.NotifyEvent(Event msgEvent) { if (msgEvent is BreakEvent) - Task.Run(() => BreakNotified(msgEvent as BreakEvent)); + _ = Task.Run(() => BreakNotified(msgEvent as BreakEvent)); } void IMessageEventSink.NotifyMessage(Message msg) @@ -430,13 +432,7 @@ public static bool CheckCommandLine(string execPath, string args) { - ushort portFrom; - ushort portTo; - string hostName; - string fileName; - bool block; - return ParseCommandLine( - execPath, args, out portFrom, out portTo, out hostName, out fileName, out block); + return ParseCommandLine(execPath, args, out _, out _, out _, out _, out _); } /// <summary> @@ -456,8 +452,8 @@ /// <summary> /// Regex-based parser for QML debug connection parameters /// </summary> - static RegExprParser ConnectParamsParser => _ConnectParamsParser ?? ( - _ConnectParamsParser = new Token(TokenId.ConnectParams, RxConnectParams) + static RegExprParser ConnectParamsParser => StaticLazy.Get(() => + ConnectParamsParser, () => new Token(TokenId.ConnectParams, RxConnectParams) { new Rule<ConnectParams> { @@ -469,7 +465,6 @@ } } .Render()); - static RegExprParser _ConnectParamsParser; /// <summary> /// Regular expression for parsing connection parameters string in the form: -- Gitblit v1.9.1