Skip to content

Commit abd558d

Browse files
author
Kapil Borle
committed
Parse object[] for compatibility arg in UseCompatibleCmdlet rule
1 parent f13e509 commit abd558d

1 file changed

Lines changed: 24 additions & 3 deletions

File tree

Rules/UseCompatibleCmdlets.cs

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,36 @@ private void SetupCmdletsDictionary()
6363
return;
6464
}
6565

66-
var compatibilityList = ruleArgs["compatibility"] as List<string>;
67-
if (compatibilityList == null)
66+
var compatibilityObjectArr = ruleArgs["compatibility"] as object[];
67+
var compatibilityList = new List<string>();
68+
if (compatibilityObjectArr == null)
6869
{
69-
return;
70+
compatibilityList = ruleArgs["compatibility"] as List<string>;
71+
if (compatibilityList == null)
72+
{
73+
return;
74+
}
75+
}
76+
else
77+
{
78+
foreach (var compatItem in compatibilityObjectArr)
79+
{
80+
var compatString = compatItem as string;
81+
if (compatString == null)
82+
{
83+
// ignore (warn) non-string invalid entries
84+
continue;
85+
}
86+
87+
compatibilityList.Add(compatString);
88+
}
7089
}
7190

7291
foreach (var compat in compatibilityList)
7392
{
7493
string psedition, psversion, os;
94+
95+
// ignore (warn) invalid entries
7596
if (GetVersionInfoFromPlatformString(compat, out psedition, out psversion, out os))
7697
{
7798
platformSpecMap.Add(compat, new { PSEdition = psedition, PSVersion = psversion, OS = os });

0 commit comments

Comments
 (0)