From 10fa1703d551243c42d715d0f48baa66c6a1bdcc Mon Sep 17 00:00:00 2001 From: xtqqczze Date: Fri, 6 Nov 2020 16:43:06 +0000 Subject: [PATCH 1/2] Make applicable private Guid fields readonly --- .../CimSessionOperations.cs | 2 +- .../commands/utility/ImplicitRemotingCommands.cs | 2 +- .../DotNetCode/Eventing/EventProvider.cs | 2 +- src/System.Management.Automation/engine/EventManager.cs | 2 +- .../engine/hostifaces/PSDataCollection.cs | 2 +- .../engine/remoting/client/ClientMethodExecutor.cs | 4 ++-- .../engine/remoting/client/RemotingErrorRecord.cs | 2 +- .../engine/remoting/client/RemotingProtocol2.cs | 2 +- .../client/clientremotesessionprotocolstatemachine.cs | 2 +- .../engine/remoting/client/remotepipeline.cs | 2 +- .../engine/remoting/commands/InvokeCommandCommand.cs | 2 +- .../engine/remoting/fanin/OutOfProcTransportManager.cs | 6 +++--- .../engine/remoting/server/ServerMethodExecutor.cs | 4 ++-- .../engine/remoting/server/ServerRemoteHost.cs | 4 ++-- .../engine/remoting/server/ServerRemotingProtocol2.cs | 6 +++--- .../help/UpdatableHelpModuleInfo.cs | 2 +- src/System.Management.Automation/utils/ObjectStream.cs | 2 +- 17 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/CimSessionOperations.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/CimSessionOperations.cs index 8bae87bc6ee..1fa811aa336 100644 --- a/src/Microsoft.Management.Infrastructure.CimCmdlets/CimSessionOperations.cs +++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/CimSessionOperations.cs @@ -45,7 +45,7 @@ public Guid InstanceId } } - private Guid instanceId; + private readonly Guid instanceId; /// /// Name of the cimsession. diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/ImplicitRemotingCommands.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/ImplicitRemotingCommands.cs index 80685cfaa3c..4aa59024439 100644 --- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/ImplicitRemotingCommands.cs +++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/ImplicitRemotingCommands.cs @@ -1920,7 +1920,7 @@ internal class ImplicitRemotingCodeGenerator #region Constructor and shared private data private readonly PSSession _remoteRunspaceInfo; - private Guid _moduleGuid; + private readonly Guid _moduleGuid; private readonly InvocationInfo _invocationInfo; internal ImplicitRemotingCodeGenerator( diff --git a/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs b/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs index a1eba143e28..6ac36483384 100644 --- a/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs +++ b/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs @@ -20,7 +20,7 @@ public class EventProvider : IDisposable private long _anyKeywordMask; // Trace Enable Flags private long _allKeywordMask; // Match all keyword private int _enabled; // Enabled flag from Trace callback - private Guid _providerId; // Control Guid + private readonly Guid _providerId; // Control Guid private int _disposed; // when 1, provider has unregister [ThreadStatic] diff --git a/src/System.Management.Automation/engine/EventManager.cs b/src/System.Management.Automation/engine/EventManager.cs index c4e5760fd53..f820aec608b 100644 --- a/src/System.Management.Automation/engine/EventManager.cs +++ b/src/System.Management.Automation/engine/EventManager.cs @@ -1563,7 +1563,7 @@ internal class PSRemoteEventManager : PSEventManager private readonly string _computerName; /// Runspace on which the event was generated - private Guid _runspaceId; + private readonly Guid _runspaceId; /// /// Creates an event manager for the given runspace. diff --git a/src/System.Management.Automation/engine/hostifaces/PSDataCollection.cs b/src/System.Management.Automation/engine/hostifaces/PSDataCollection.cs index 546b7383ce7..1c1d6427d73 100644 --- a/src/System.Management.Automation/engine/hostifaces/PSDataCollection.cs +++ b/src/System.Management.Automation/engine/hostifaces/PSDataCollection.cs @@ -1996,7 +1996,7 @@ void IDisposable.Dispose() /// internal sealed class PSInformationalBuffers { - private Guid _psInstanceId; + private readonly Guid _psInstanceId; /// /// Default constructor. diff --git a/src/System.Management.Automation/engine/remoting/client/ClientMethodExecutor.cs b/src/System.Management.Automation/engine/remoting/client/ClientMethodExecutor.cs index 4a25c0679ab..7eaf2102304 100644 --- a/src/System.Management.Automation/engine/remoting/client/ClientMethodExecutor.cs +++ b/src/System.Management.Automation/engine/remoting/client/ClientMethodExecutor.cs @@ -28,12 +28,12 @@ internal class ClientMethodExecutor /// /// Client runspace pool id. /// - private Guid _clientRunspacePoolId; + private readonly Guid _clientRunspacePoolId; /// /// Client power shell id. /// - private Guid _clientPowerShellId; + private readonly Guid _clientPowerShellId; /// /// Remote host call. diff --git a/src/System.Management.Automation/engine/remoting/client/RemotingErrorRecord.cs b/src/System.Management.Automation/engine/remoting/client/RemotingErrorRecord.cs index dc580b95812..dd5a547830b 100644 --- a/src/System.Management.Automation/engine/remoting/client/RemotingErrorRecord.cs +++ b/src/System.Management.Automation/engine/remoting/client/RemotingErrorRecord.cs @@ -317,7 +317,7 @@ public Guid RunspaceID } [DataMemberAttribute()] - private Guid _runspaceID; + private readonly Guid _runspaceID; /// /// Error record source instance ID. diff --git a/src/System.Management.Automation/engine/remoting/client/RemotingProtocol2.cs b/src/System.Management.Automation/engine/remoting/client/RemotingProtocol2.cs index a62eef372f5..544f822463b 100644 --- a/src/System.Management.Automation/engine/remoting/client/RemotingProtocol2.cs +++ b/src/System.Management.Automation/engine/remoting/client/RemotingProtocol2.cs @@ -862,7 +862,7 @@ private void HandleSessionCreateCompleted(object sender, CreateCompleteEventArgs #region Private Members - private Guid _clientRunspacePoolId; + private readonly Guid _clientRunspacePoolId; private object _syncObject = new object(); private bool _createRunspaceCalled = false; private Exception _closingReason; diff --git a/src/System.Management.Automation/engine/remoting/client/clientremotesessionprotocolstatemachine.cs b/src/System.Management.Automation/engine/remoting/client/clientremotesessionprotocolstatemachine.cs index ec55f22fc22..be93cbe5d24 100644 --- a/src/System.Management.Automation/engine/remoting/client/clientremotesessionprotocolstatemachine.cs +++ b/src/System.Management.Automation/engine/remoting/client/clientremotesessionprotocolstatemachine.cs @@ -161,7 +161,7 @@ private void RaiseStateMachineEvents() /// Unique identifier for this state machine. Used /// in tracing. /// - private Guid _id; + private readonly Guid _id; /// /// Handler to be used in cases, where setting the state is the diff --git a/src/System.Management.Automation/engine/remoting/client/remotepipeline.cs b/src/System.Management.Automation/engine/remoting/client/remotepipeline.cs index 58931499610..a5514678fc4 100644 --- a/src/System.Management.Automation/engine/remoting/client/remotepipeline.cs +++ b/src/System.Management.Automation/engine/remoting/client/remotepipeline.cs @@ -30,7 +30,7 @@ internal class RemotePipeline : Pipeline private PipelineStateInfo _pipelineStateInfo = new PipelineStateInfo(PipelineState.NotStarted); private CommandCollection _commands = new CommandCollection(); private string _computerName; - private Guid _runspaceId; + private readonly Guid _runspaceId; private ConnectCommandInfo _connectCmdInfo = null; /// diff --git a/src/System.Management.Automation/engine/remoting/commands/InvokeCommandCommand.cs b/src/System.Management.Automation/engine/remoting/commands/InvokeCommandCommand.cs index 5166dcf32bd..bf76acca44f 100644 --- a/src/System.Management.Automation/engine/remoting/commands/InvokeCommandCommand.cs +++ b/src/System.Management.Automation/engine/remoting/commands/InvokeCommandCommand.cs @@ -2008,7 +2008,7 @@ private void PreProcessStreamObject(PSStreamObject streamObject) private List _inputWriters = new List(); private object _jobSyncObject = new object(); private bool _nojob = false; - private Guid _instanceId = Guid.NewGuid(); + private readonly Guid _instanceId = Guid.NewGuid(); private bool _propagateErrors = false; private static RobustConnectionProgress s_RCProgress = new RobustConnectionProgress(); diff --git a/src/System.Management.Automation/engine/remoting/fanin/OutOfProcTransportManager.cs b/src/System.Management.Automation/engine/remoting/fanin/OutOfProcTransportManager.cs index bc39b8f6937..b545eb20e45 100644 --- a/src/System.Management.Automation/engine/remoting/fanin/OutOfProcTransportManager.cs +++ b/src/System.Management.Automation/engine/remoting/fanin/OutOfProcTransportManager.cs @@ -1426,7 +1426,7 @@ internal sealed class VMHyperVSocketClientSessionTransportManager : HyperVSocket { #region Private Data - private Guid _vmGuid; + private readonly Guid _vmGuid; private string _configurationName; private VMConnectionInfo _connectionInfo; private NetworkCredential _networkCredential; @@ -1512,7 +1512,7 @@ internal sealed class ContainerHyperVSocketClientSessionTransportManager : Hyper { #region Private Data - private Guid _targetGuid; // currently this is the utility vm guid in HyperV container scenario + private readonly Guid _targetGuid; // currently this is the utility vm guid in HyperV container scenario private ContainerConnectionInfo _connectionInfo; #endregion @@ -2525,7 +2525,7 @@ internal class OutOfProcessServerTransportManager : AbstractServerTransportManag private OutOfProcessTextWriter _stdOutWriter; private OutOfProcessTextWriter _stdErrWriter; - private Guid _powershellInstanceId; + private readonly Guid _powershellInstanceId; private bool _isDataAckSendPending; #endregion diff --git a/src/System.Management.Automation/engine/remoting/server/ServerMethodExecutor.cs b/src/System.Management.Automation/engine/remoting/server/ServerMethodExecutor.cs index 0c0fb0a0c42..1dfb2ba49f9 100644 --- a/src/System.Management.Automation/engine/remoting/server/ServerMethodExecutor.cs +++ b/src/System.Management.Automation/engine/remoting/server/ServerMethodExecutor.cs @@ -21,12 +21,12 @@ internal class ServerMethodExecutor /// /// Client runspace pool id. /// - private Guid _clientRunspacePoolId; + private readonly Guid _clientRunspacePoolId; /// /// Client power shell id. /// - private Guid _clientPowerShellId; + private readonly Guid _clientPowerShellId; /// /// Server dispatch table. diff --git a/src/System.Management.Automation/engine/remoting/server/ServerRemoteHost.cs b/src/System.Management.Automation/engine/remoting/server/ServerRemoteHost.cs index 35957d47b0e..f7182c0b562 100644 --- a/src/System.Management.Automation/engine/remoting/server/ServerRemoteHost.cs +++ b/src/System.Management.Automation/engine/remoting/server/ServerRemoteHost.cs @@ -30,12 +30,12 @@ internal class ServerRemoteHost : PSHost, IHostSupportsInteractiveSession /// /// Client runspace pool id. /// - private Guid _clientRunspacePoolId; + private readonly Guid _clientRunspacePoolId; /// /// Client power shell id. /// - private Guid _clientPowerShellId; + private readonly Guid _clientPowerShellId; /// /// Transport manager. diff --git a/src/System.Management.Automation/engine/remoting/server/ServerRemotingProtocol2.cs b/src/System.Management.Automation/engine/remoting/server/ServerRemotingProtocol2.cs index 72e7db24ae5..be4c65cc9c7 100644 --- a/src/System.Management.Automation/engine/remoting/server/ServerRemotingProtocol2.cs +++ b/src/System.Management.Automation/engine/remoting/server/ServerRemotingProtocol2.cs @@ -409,7 +409,7 @@ private void HandleRemoveAssociation(object sender, EventArgs e) #region Private Members - private Guid _clientRunspacePoolId; + private readonly Guid _clientRunspacePoolId; // transport manager using which this // runspace pool driver handles all client // communication @@ -436,8 +436,8 @@ internal class ServerPowerShellDataStructureHandler // powershell driver handles all client // communication private AbstractServerTransportManager _transportManager; - private Guid _clientRunspacePoolId; - private Guid _clientPowerShellId; + private readonly Guid _clientRunspacePoolId; + private readonly Guid _clientPowerShellId; private RemoteStreamOptions _streamSerializationOptions; private Runspace _rsUsedToInvokePowerShell; diff --git a/src/System.Management.Automation/help/UpdatableHelpModuleInfo.cs b/src/System.Management.Automation/help/UpdatableHelpModuleInfo.cs index 6da6c256dc5..b46717920f4 100644 --- a/src/System.Management.Automation/help/UpdatableHelpModuleInfo.cs +++ b/src/System.Management.Automation/help/UpdatableHelpModuleInfo.cs @@ -54,7 +54,7 @@ internal Guid ModuleGuid } } - private Guid _moduleGuid; + private readonly Guid _moduleGuid; /// /// Module path. diff --git a/src/System.Management.Automation/utils/ObjectStream.cs b/src/System.Management.Automation/utils/ObjectStream.cs index d22869732dd..2d995cb38d0 100644 --- a/src/System.Management.Automation/utils/ObjectStream.cs +++ b/src/System.Management.Automation/utils/ObjectStream.cs @@ -1552,7 +1552,7 @@ internal sealed class PSDataCollectionStream : ObjectStreamBase #region Private Fields private readonly PSDataCollection _objects; - private Guid _psInstanceId; + private readonly Guid _psInstanceId; private bool _isOpen; private PipelineWriter _writer; private PipelineReader _objectReader; From 96befc669181b8386ca5a2c90eb2136023982154 Mon Sep 17 00:00:00 2001 From: xtqqczze Date: Fri, 6 Nov 2020 16:45:33 +0000 Subject: [PATCH 2/2] Use in-modifier for passing a readonly Guid --- .../DotNetCode/Eventing/EventProvider.cs | 2 +- .../DotNetCode/Eventing/UnsafeNativeMethods.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs b/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs index 6ac36483384..072e6935624 100644 --- a/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs +++ b/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/EventProvider.cs @@ -99,7 +99,7 @@ private unsafe void EtwRegister() _etwCallback = new UnsafeNativeMethods.EtwEnableCallback(EtwEnableCallBack); - status = UnsafeNativeMethods.EventRegister(ref _providerId, _etwCallback, null, ref _regHandle); + status = UnsafeNativeMethods.EventRegister(in _providerId, _etwCallback, null, ref _regHandle); if (status != 0) { throw new Win32Exception((int)status); diff --git a/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/UnsafeNativeMethods.cs b/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/UnsafeNativeMethods.cs index abc1bb03335..059d09937ed 100644 --- a/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/UnsafeNativeMethods.cs +++ b/src/Microsoft.PowerShell.CoreCLR.Eventing/DotNetCode/Eventing/UnsafeNativeMethods.cs @@ -120,7 +120,7 @@ [In] void* callbackContext [DllImport(EventProviderDllName, ExactSpelling = true, EntryPoint = "EventRegister", CharSet = System.Runtime.InteropServices.CharSet.Unicode)] [SecurityCritical] internal static extern unsafe uint EventRegister( - [In] ref Guid providerId, + [In] in Guid providerId, [In] EtwEnableCallback enableCallback, [In] void* callbackContext, [In][Out] ref long registrationHandle