Skip to content

Commit 41e2898

Browse files
PaulHiginAndrew
authored andcommitted
Code clean up for PSSession class (PowerShell#11001)
1 parent 04a1fc3 commit 41e2898

File tree

1 file changed

+48
-66
lines changed

1 file changed

+48
-66
lines changed

src/System.Management.Automation/engine/remoting/client/remoterunspaceinfo.cs

Lines changed: 48 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -272,48 +272,35 @@ internal PSSession(RemoteRunspace remoteRunspace)
272272
remoteRunspace.PSSessionName = Name;
273273
}
274274

275-
// WSMan session
276-
if (remoteRunspace.ConnectionInfo is WSManConnectionInfo)
275+
switch (remoteRunspace.ConnectionInfo)
277276
{
278-
ComputerType = TargetMachineType.RemoteMachine;
279-
280-
string fullShellName = WSManConnectionInfo.ExtractPropertyAsWsManConnectionInfo<string>(
281-
remoteRunspace.ConnectionInfo,
282-
"ShellUri", string.Empty);
283-
284-
ConfigurationName = GetDisplayShellName(fullShellName);
285-
return;
286-
}
287-
288-
// VM session
289-
VMConnectionInfo vmConnectionInfo = remoteRunspace.ConnectionInfo as VMConnectionInfo;
290-
if (vmConnectionInfo != null)
291-
{
292-
ComputerType = TargetMachineType.VirtualMachine;
293-
ConfigurationName = vmConnectionInfo.ConfigurationName;
294-
return;
295-
}
296-
297-
// Container session
298-
ContainerConnectionInfo containerConnectionInfo = remoteRunspace.ConnectionInfo as ContainerConnectionInfo;
299-
if (containerConnectionInfo != null)
300-
{
301-
ComputerType = TargetMachineType.Container;
302-
ConfigurationName = containerConnectionInfo.ContainerProc.ConfigurationName;
303-
return;
277+
case WSManConnectionInfo _:
278+
ComputerType = TargetMachineType.RemoteMachine;
279+
string fullShellName = WSManConnectionInfo.ExtractPropertyAsWsManConnectionInfo<string>(
280+
remoteRunspace.ConnectionInfo,
281+
"ShellUri", string.Empty);
282+
ConfigurationName = GetDisplayShellName(fullShellName);
283+
break;
284+
285+
case VMConnectionInfo vmConnectionInfo:
286+
ComputerType = TargetMachineType.VirtualMachine;
287+
ConfigurationName = vmConnectionInfo.ConfigurationName;
288+
break;
289+
290+
case ContainerConnectionInfo containerConnectionInfo:
291+
ComputerType = TargetMachineType.Container;
292+
ConfigurationName = containerConnectionInfo.ContainerProc.ConfigurationName;
293+
break;
294+
295+
case SSHConnectionInfo _:
296+
ComputerType = TargetMachineType.RemoteMachine;
297+
ConfigurationName = "DefaultShell";
298+
break;
299+
300+
default:
301+
Dbg.Assert(false, "Invalid Runspace");
302+
break;
304303
}
305-
306-
// SSH session
307-
SSHConnectionInfo sshConnectionInfo = remoteRunspace.ConnectionInfo as SSHConnectionInfo;
308-
if (sshConnectionInfo != null)
309-
{
310-
ComputerType = TargetMachineType.RemoteMachine;
311-
ConfigurationName = "DefaultShell";
312-
return;
313-
}
314-
315-
// We only support WSMan/VM/Container sessions now.
316-
Dbg.Assert(false, "Invalid Runspace");
317304
}
318305

319306
#endregion Constructor
@@ -326,33 +313,28 @@ internal PSSession(RemoteRunspace remoteRunspace)
326313
/// <returns>Auto generated name.</returns>
327314
private string GetTransportName()
328315
{
329-
if (_remoteRunspace.ConnectionInfo is WSManConnectionInfo)
330-
{
331-
return "WSMan";
332-
}
333-
else if (_remoteRunspace.ConnectionInfo is SSHConnectionInfo)
334-
{
335-
return "SSH";
336-
}
337-
else if (_remoteRunspace.ConnectionInfo is NamedPipeConnectionInfo)
316+
switch (_remoteRunspace.ConnectionInfo)
338317
{
339-
return "NamedPipe";
340-
}
341-
else if (_remoteRunspace.ConnectionInfo is ContainerConnectionInfo)
342-
{
343-
return "Container";
344-
}
345-
else if (_remoteRunspace.ConnectionInfo is NewProcessConnectionInfo)
346-
{
347-
return "Process";
348-
}
349-
else if (_remoteRunspace.ConnectionInfo is VMConnectionInfo)
350-
{
351-
return "VMBus";
352-
}
353-
else
354-
{
355-
return "Unknown";
318+
case WSManConnectionInfo _:
319+
return "WSMan";
320+
321+
case SSHConnectionInfo _:
322+
return "SSH";
323+
324+
case NamedPipeConnectionInfo _:
325+
return "NamedPipe";
326+
327+
case ContainerConnectionInfo _:
328+
return "Container";
329+
330+
case NewProcessConnectionInfo _:
331+
return "Process";
332+
333+
case VMConnectionInfo _:
334+
return "VMBus";
335+
336+
default:
337+
return "Unknown";
356338
}
357339
}
358340

0 commit comments

Comments
 (0)