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);