From 02fd0a708dd1d09fb9a02360df6318a0c9f73a2a Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Sun, 18 Dec 2022 18:11:33 +0100 Subject: [PATCH 1/6] Replace all excluding ComInterop code --- .../Subsystem/PredictionSubsystem/CommandPrediction.cs | 3 ++- .../Subsystem/PredictionSubsystem/ICommandPredictor.cs | 4 ++-- .../engine/Subsystem/SubsystemManager.cs | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs index 7a87b259314..574d30a62c8 100644 --- a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs +++ b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs @@ -142,7 +142,7 @@ await Task.WhenAny( /// History command lines provided as references for prediction. public static void OnCommandLineAccepted(PredictionClient client, IReadOnlyList history) { - Requires.NotNull(history, nameof(history)); + ArgumentNullException.ThrowIfNull(history, nameof(history)); var predictors = SubsystemManager.GetSubsystems(); if (predictors.Count == 0) @@ -250,6 +250,7 @@ static Action GetCallBack(PredictionClient client, uint sessi public static void OnSuggestionAccepted(PredictionClient client, Guid predictorId, uint session, string suggestionText) { Requires.NotNullOrEmpty(suggestionText, nameof(suggestionText)); + var predictors = SubsystemManager.GetSubsystems(); if (predictors.Count == 0) diff --git a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs index bd8a48a85db..3c3bcac3304 100644 --- a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs +++ b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs @@ -186,8 +186,8 @@ public sealed class PredictionContext /// The objects from parsing the current command line input. public PredictionContext(Ast inputAst, Token[] inputTokens) { - Requires.NotNull(inputAst, nameof(inputAst)); - Requires.NotNull(inputTokens, nameof(inputTokens)); + ArgumentNullException.ThrowIfNull(inputAst, nameof(inputAst)); + ArgumentNullException.ThrowIfNull(inputTokens, nameof(inputTokens)); var cursor = inputAst.Extent.EndScriptPosition; var astContext = CompletionAnalysis.ExtractAstContext(inputAst, inputTokens, cursor); diff --git a/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs b/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs index 501bebcaddc..808f3fb5c8f 100644 --- a/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs +++ b/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs @@ -131,7 +131,7 @@ public static ReadOnlyCollection GetAllSubsystemInfo() /// The object that represents the concrete subsystem. public static SubsystemInfo GetSubsystemInfo(Type subsystemType) { - Requires.NotNull(subsystemType, nameof(subsystemType)); + ArgumentNullException.ThrowIfNull(subsystemType, nameof(subsystemType)); if (s_subSystemTypeMap.TryGetValue(subsystemType, out SubsystemInfo? subsystemInfo)) { @@ -178,7 +178,7 @@ public static void RegisterSubsystem(TImple where TConcreteSubsystem : class, ISubsystem where TImplementation : class, TConcreteSubsystem { - Requires.NotNull(proxy, nameof(proxy)); + ArgumentNullException.ThrowIfNull(proxy, nameof(proxy)); RegisterSubsystem(GetSubsystemInfo(typeof(TConcreteSubsystem)), proxy); } @@ -190,7 +190,7 @@ public static void RegisterSubsystem(TImple /// An instance of the implementation. public static void RegisterSubsystem(SubsystemKind kind, ISubsystem proxy) { - Requires.NotNull(proxy, nameof(proxy)); + ArgumentNullException.ThrowIfNull(proxy, nameof(proxy)); Requires.OneSpecificSubsystemKind(kind); if (!proxy.Kind.HasFlag(kind)) From 879e4574999b8275275e6f89f8c694f4ec1b16de Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Sun, 18 Dec 2022 18:18:26 +0100 Subject: [PATCH 2/6] remove empty line --- .../engine/Subsystem/PredictionSubsystem/CommandPrediction.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs index 574d30a62c8..1d8874e2643 100644 --- a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs +++ b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs @@ -250,7 +250,6 @@ static Action GetCallBack(PredictionClient client, uint sessi public static void OnSuggestionAccepted(PredictionClient client, Guid predictorId, uint session, string suggestionText) { Requires.NotNullOrEmpty(suggestionText, nameof(suggestionText)); - var predictors = SubsystemManager.GetSubsystems(); if (predictors.Count == 0) From f2342f603df221b4642d42cbf5f6a56095098e4f Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Mon, 19 Dec 2022 11:02:35 +0100 Subject: [PATCH 3/6] remove second argument --- .../Subsystem/PredictionSubsystem/CommandPrediction.cs | 2 +- .../Subsystem/PredictionSubsystem/ICommandPredictor.cs | 4 ++-- .../engine/Subsystem/SubsystemManager.cs | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs index 1d8874e2643..7ed70e247a5 100644 --- a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs +++ b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/CommandPrediction.cs @@ -142,7 +142,7 @@ await Task.WhenAny( /// History command lines provided as references for prediction. public static void OnCommandLineAccepted(PredictionClient client, IReadOnlyList history) { - ArgumentNullException.ThrowIfNull(history, nameof(history)); + ArgumentNullException.ThrowIfNull(history); var predictors = SubsystemManager.GetSubsystems(); if (predictors.Count == 0) diff --git a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs index 3c3bcac3304..91906d5f8bd 100644 --- a/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs +++ b/src/System.Management.Automation/engine/Subsystem/PredictionSubsystem/ICommandPredictor.cs @@ -186,8 +186,8 @@ public sealed class PredictionContext /// The objects from parsing the current command line input. public PredictionContext(Ast inputAst, Token[] inputTokens) { - ArgumentNullException.ThrowIfNull(inputAst, nameof(inputAst)); - ArgumentNullException.ThrowIfNull(inputTokens, nameof(inputTokens)); + ArgumentNullException.ThrowIfNull(inputAst); + ArgumentNullException.ThrowIfNull(inputTokens); var cursor = inputAst.Extent.EndScriptPosition; var astContext = CompletionAnalysis.ExtractAstContext(inputAst, inputTokens, cursor); diff --git a/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs b/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs index 808f3fb5c8f..c448071ce63 100644 --- a/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs +++ b/src/System.Management.Automation/engine/Subsystem/SubsystemManager.cs @@ -131,7 +131,7 @@ public static ReadOnlyCollection GetAllSubsystemInfo() /// The object that represents the concrete subsystem. public static SubsystemInfo GetSubsystemInfo(Type subsystemType) { - ArgumentNullException.ThrowIfNull(subsystemType, nameof(subsystemType)); + ArgumentNullException.ThrowIfNull(subsystemType); if (s_subSystemTypeMap.TryGetValue(subsystemType, out SubsystemInfo? subsystemInfo)) { @@ -178,7 +178,7 @@ public static void RegisterSubsystem(TImple where TConcreteSubsystem : class, ISubsystem where TImplementation : class, TConcreteSubsystem { - ArgumentNullException.ThrowIfNull(proxy, nameof(proxy)); + ArgumentNullException.ThrowIfNull(proxy); RegisterSubsystem(GetSubsystemInfo(typeof(TConcreteSubsystem)), proxy); } @@ -190,7 +190,7 @@ public static void RegisterSubsystem(TImple /// An instance of the implementation. public static void RegisterSubsystem(SubsystemKind kind, ISubsystem proxy) { - ArgumentNullException.ThrowIfNull(proxy, nameof(proxy)); + ArgumentNullException.ThrowIfNull(proxy); Requires.OneSpecificSubsystemKind(kind); if (!proxy.Kind.HasFlag(kind)) From 6e8a271b80f0723c16598525fa10e6edd709f242 Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Sat, 7 Jan 2023 01:21:15 +0100 Subject: [PATCH 4/6] changed 2 files --- .../engine/ComInterop/BoundDispEvent.cs | 4 ++-- .../engine/ComInterop/IDispatchMetaObject.cs | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs b/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs index 6965fa6e3b5..f9127ff9166 100644 --- a/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs +++ b/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs @@ -73,7 +73,7 @@ private static void VerifyHandler(object handler) /// The original event with handler added. private object InPlaceAdd(object handler) { - Requires.NotNull(handler, nameof(handler)); + ArgumentNullException.ThrowIfNull(handler); VerifyHandler(handler); ComEventsSink comEventSink = ComEventsSink.FromRuntimeCallableWrapper(_rcw, _sourceIid, true); @@ -88,7 +88,7 @@ private object InPlaceAdd(object handler) /// The original event with handler removed. private object InPlaceSubtract(object handler) { - Requires.NotNull(handler, nameof(handler)); + ArgumentNullException.ThrowIfNull(handler); VerifyHandler(handler); ComEventsSink comEventSink = ComEventsSink.FromRuntimeCallableWrapper(_rcw, _sourceIid, false); diff --git a/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs b/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs index b340cf54967..64d6820e2ee 100644 --- a/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs +++ b/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs @@ -23,7 +23,7 @@ internal IDispatchMetaObject(Expression expression, IDispatchComObject self) public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) { - Requires.NotNull(binder, nameof(binder)); + ArgumentNullException.ThrowIfNull(binder); ComMethodDesc method = null; @@ -63,7 +63,7 @@ public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, Dy public override DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args) { - Requires.NotNull(binder, nameof(binder)); + ArgumentNullException.ThrowIfNull(binder); if (_self.TryGetGetItem(out ComMethodDesc method)) { @@ -108,7 +108,7 @@ public override DynamicMetaObject BindGetMember(GetMemberBinder binder) ComBinder.ComGetMemberBinder comBinder = binder as ComBinder.ComGetMemberBinder; bool canReturnCallables = comBinder?._canReturnCallables ?? false; - Requires.NotNull(binder, nameof(binder)); + ArgumentNullException.ThrowIfNull(binder); // 1. Try methods if (_self.TryGetMemberMethod(binder.Name, out ComMethodDesc method)) @@ -187,7 +187,7 @@ private DynamicMetaObject BindEvent(ComEventDesc eventDesc) public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) { - Requires.NotNull(binder, nameof(binder)); + ArgumentNullException.ThrowIfNull(binder); if (_self.TryGetGetItem(out ComMethodDesc getItem)) { @@ -203,7 +203,7 @@ public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMet public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) { - Requires.NotNull(binder, nameof(binder)); + ArgumentNullException.ThrowIfNull(binder); if (_self.TryGetSetItem(out ComMethodDesc setItem)) { @@ -238,7 +238,7 @@ public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMet public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value) { - Requires.NotNull(binder, nameof(binder)); + ArgumentNullException.ThrowIfNull(binder); return // 1. Check for simple property put From dbbb432452b3c138220c4a8e6066aa66554d4ff3 Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Sat, 7 Jan 2023 10:20:51 +0100 Subject: [PATCH 5/6] revert --- .../engine/ComInterop/IDispatchMetaObject.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs b/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs index 64d6820e2ee..b340cf54967 100644 --- a/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs +++ b/src/System.Management.Automation/engine/ComInterop/IDispatchMetaObject.cs @@ -23,7 +23,7 @@ internal IDispatchMetaObject(Expression expression, IDispatchComObject self) public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) { - ArgumentNullException.ThrowIfNull(binder); + Requires.NotNull(binder, nameof(binder)); ComMethodDesc method = null; @@ -63,7 +63,7 @@ public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, Dy public override DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args) { - ArgumentNullException.ThrowIfNull(binder); + Requires.NotNull(binder, nameof(binder)); if (_self.TryGetGetItem(out ComMethodDesc method)) { @@ -108,7 +108,7 @@ public override DynamicMetaObject BindGetMember(GetMemberBinder binder) ComBinder.ComGetMemberBinder comBinder = binder as ComBinder.ComGetMemberBinder; bool canReturnCallables = comBinder?._canReturnCallables ?? false; - ArgumentNullException.ThrowIfNull(binder); + Requires.NotNull(binder, nameof(binder)); // 1. Try methods if (_self.TryGetMemberMethod(binder.Name, out ComMethodDesc method)) @@ -187,7 +187,7 @@ private DynamicMetaObject BindEvent(ComEventDesc eventDesc) public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) { - ArgumentNullException.ThrowIfNull(binder); + Requires.NotNull(binder, nameof(binder)); if (_self.TryGetGetItem(out ComMethodDesc getItem)) { @@ -203,7 +203,7 @@ public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMet public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) { - ArgumentNullException.ThrowIfNull(binder); + Requires.NotNull(binder, nameof(binder)); if (_self.TryGetSetItem(out ComMethodDesc setItem)) { @@ -238,7 +238,7 @@ public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMet public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value) { - ArgumentNullException.ThrowIfNull(binder); + Requires.NotNull(binder, nameof(binder)); return // 1. Check for simple property put From 6db256057f11ab1ae05589b146e5aebbf107aa53 Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Sat, 7 Jan 2023 15:04:19 +0100 Subject: [PATCH 6/6] fix --- .../engine/ComInterop/BoundDispEvent.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs b/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs index f9127ff9166..6965fa6e3b5 100644 --- a/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs +++ b/src/System.Management.Automation/engine/ComInterop/BoundDispEvent.cs @@ -73,7 +73,7 @@ private static void VerifyHandler(object handler) /// The original event with handler added. private object InPlaceAdd(object handler) { - ArgumentNullException.ThrowIfNull(handler); + Requires.NotNull(handler, nameof(handler)); VerifyHandler(handler); ComEventsSink comEventSink = ComEventsSink.FromRuntimeCallableWrapper(_rcw, _sourceIid, true); @@ -88,7 +88,7 @@ private object InPlaceAdd(object handler) /// The original event with handler removed. private object InPlaceSubtract(object handler) { - ArgumentNullException.ThrowIfNull(handler); + Requires.NotNull(handler, nameof(handler)); VerifyHandler(handler); ComEventsSink comEventSink = ComEventsSink.FromRuntimeCallableWrapper(_rcw, _sourceIid, false);