Skip to content

Commit 37cc91e

Browse files
committed
Fix warning CS0168
1 parent d370759 commit 37cc91e

File tree

1 file changed

+102
-108
lines changed

1 file changed

+102
-108
lines changed

tools/Tools.Common/Loaders/CmdletLoader.cs

Lines changed: 102 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -74,149 +74,143 @@ public ModuleMetadata GetModuleMetadata(string assemblyPath)
7474
ModuleMetadata.Cmdlets = results;
7575
return ModuleMetadata;
7676
}
77-
try
77+
78+
var assembly = Assembly.LoadFrom(assemblyPath);
79+
foreach (var type in assembly.GetCmdletTypes())
7880
{
79-
var assembly = Assembly.LoadFrom(assemblyPath);
80-
foreach (var type in assembly.GetCmdletTypes())
81+
var cmdlet = type.GetAttribute<CmdletAttribute>();
82+
var outputs = type.GetAttributes<OutputTypeAttribute>();
83+
var parameters = type.GetParameters();
84+
85+
var cmdletMetadata = new CmdletMetadata
86+
{
87+
VerbName = cmdlet.VerbName,
88+
NounName = cmdlet.NounName,
89+
ConfirmImpact = cmdlet.ConfirmImpact,
90+
SupportsPaging = cmdlet.SupportsPaging,
91+
SupportsShouldProcess = cmdlet.SupportsShouldProcess,
92+
ClassName = type.FullName,
93+
DefaultParameterSetName = cmdlet.DefaultParameterSetName ?? "__AllParameterSets"
94+
};
95+
96+
if (type.HasAttribute<AliasAttribute>())
97+
{
98+
var aliases = type.GetAttributes<AliasAttribute>();
99+
cmdletMetadata.AliasList.AddRange(
100+
aliases.SelectMany(a => a.AliasNames));
101+
}
102+
103+
foreach (var output in outputs)
81104
{
82-
var cmdlet = type.GetAttribute<CmdletAttribute>();
83-
var outputs = type.GetAttributes<OutputTypeAttribute>();
84-
var parameters = type.GetParameters();
105+
foreach (var outputType in output.Type)
106+
{
107+
var outputMetadata = new OutputMetadata
108+
{
109+
Type = outputType.Type
110+
};
111+
outputMetadata.ParameterSets.AddRange(output.ParameterSetName);
112+
cmdletMetadata.OutputTypes.Add(outputMetadata);
113+
}
114+
}
115+
116+
var globalParameters = new List<Parameter>();
117+
118+
foreach (var parameter in parameters)
119+
{
120+
if (string.Equals(parameter.MemberInfo.Name, "Force", StringComparison.OrdinalIgnoreCase) && parameter.ParameterType == typeof(SwitchParameter))
121+
{
122+
cmdletMetadata.HasForceSwitch = true;
123+
}
85124

86-
var cmdletMetadata = new CmdletMetadata
125+
var parameterData = new Models.ParameterMetadata
87126
{
88-
VerbName = cmdlet.VerbName,
89-
NounName = cmdlet.NounName,
90-
ConfirmImpact = cmdlet.ConfirmImpact,
91-
SupportsPaging = cmdlet.SupportsPaging,
92-
SupportsShouldProcess = cmdlet.SupportsShouldProcess,
93-
ClassName = type.FullName,
94-
DefaultParameterSetName = cmdlet.DefaultParameterSetName ?? "__AllParameterSets"
127+
Type = parameter.ParameterType,
128+
Name = parameter.MemberInfo.Name
95129
};
96130

97-
if (type.HasAttribute<AliasAttribute>())
131+
if (parameter.HasAttribute<AliasAttribute>())
98132
{
99-
var aliases = type.GetAttributes<AliasAttribute>();
100-
cmdletMetadata.AliasList.AddRange(
133+
var aliases = parameter.GetAttributes<AliasAttribute>();
134+
parameterData.AliasList.AddRange(
101135
aliases.SelectMany(a => a.AliasNames));
102136
}
103137

104-
foreach (var output in outputs)
138+
if (parameter.HasAttribute<ValidateSetAttribute>())
105139
{
106-
foreach (var outputType in output.Type)
107-
{
108-
var outputMetadata = new OutputMetadata
109-
{
110-
Type = outputType.Type
111-
};
112-
outputMetadata.ParameterSets.AddRange(output.ParameterSetName);
113-
cmdletMetadata.OutputTypes.Add(outputMetadata);
114-
}
140+
var validateSet = parameter.GetAttribute<ValidateSetAttribute>();
141+
parameterData.ValidateSet.AddRange(validateSet.ValidValues);
115142
}
116143

117-
var globalParameters = new List<Parameter>();
118-
119-
foreach (var parameter in parameters)
144+
if (parameter.HasAttribute<ValidateRangeAttribute>())
120145
{
121-
if (string.Equals(parameter.MemberInfo.Name, "Force", StringComparison.OrdinalIgnoreCase) && parameter.ParameterType == typeof(SwitchParameter))
122-
{
123-
cmdletMetadata.HasForceSwitch = true;
124-
}
146+
var validateRange = parameter.GetAttribute<ValidateRangeAttribute>();
147+
parameterData.ValidateRangeMin = Convert.ToInt64(validateRange.MinRange);
148+
parameterData.ValidateRangeMax = Convert.ToInt64(validateRange.MaxRange);
149+
}
125150

126-
var parameterData = new Models.ParameterMetadata
127-
{
128-
Type = parameter.ParameterType,
129-
Name = parameter.MemberInfo.Name
130-
};
151+
parameterData.ValidateNotNullOrEmpty = parameter.HasAttribute<ValidateNotNullOrEmptyAttribute>();
131152

132-
if (parameter.HasAttribute<AliasAttribute>())
133-
{
134-
var aliases = parameter.GetAttributes<AliasAttribute>();
135-
parameterData.AliasList.AddRange(
136-
aliases.SelectMany(a => a.AliasNames));
137-
}
153+
cmdletMetadata.Parameters.Add(parameterData);
154+
155+
foreach (var parameterSet in parameter.GetAttributes<ParameterAttribute>())
156+
{
157+
var parameterSetMetadata =
158+
cmdletMetadata.ParameterSets.FirstOrDefault(s => s.Name.Equals(parameterSet.ParameterSetName))
159+
?? new Models.ParameterSetMetadata
160+
{
161+
Name = parameterSet.ParameterSetName ?? "__AllParameterSets"
162+
};
138163

139-
if (parameter.HasAttribute<ValidateSetAttribute>())
164+
var param = new Parameter
140165
{
141-
var validateSet = parameter.GetAttribute<ValidateSetAttribute>();
142-
parameterData.ValidateSet.AddRange(validateSet.ValidValues);
143-
}
166+
ParameterMetadata = parameterData,
167+
Mandatory = parameterSet.Mandatory,
168+
Position = parameterSet.Position,
169+
ValueFromPipeline = parameterSet.ValueFromPipeline,
170+
ValueFromPipelineByPropertyName = parameterSet.ValueFromPipelineByPropertyName
171+
};
144172

145-
if (parameter.HasAttribute<ValidateRangeAttribute>())
173+
if (parameterSet.ParameterSetName.Equals("__AllParameterSets"))
146174
{
147-
var validateRange = parameter.GetAttribute<ValidateRangeAttribute>();
148-
parameterData.ValidateRangeMin = Convert.ToInt64(validateRange.MinRange);
149-
parameterData.ValidateRangeMax = Convert.ToInt64(validateRange.MaxRange);
175+
globalParameters.Add(param);
150176
}
151177

152-
parameterData.ValidateNotNullOrEmpty = parameter.HasAttribute<ValidateNotNullOrEmptyAttribute>();
178+
parameterSetMetadata.Parameters.Add(param);
153179

154-
cmdletMetadata.Parameters.Add(parameterData);
155-
156-
foreach (var parameterSet in parameter.GetAttributes<ParameterAttribute>())
180+
if (parameterSetMetadata.Parameters.Count == 1)
157181
{
158-
var parameterSetMetadata =
159-
cmdletMetadata.ParameterSets.FirstOrDefault(s => s.Name.Equals(parameterSet.ParameterSetName))
160-
?? new Models.ParameterSetMetadata
161-
{
162-
Name = parameterSet.ParameterSetName ?? "__AllParameterSets"
163-
};
164-
165-
var param = new Parameter
166-
{
167-
ParameterMetadata = parameterData,
168-
Mandatory = parameterSet.Mandatory,
169-
Position = parameterSet.Position,
170-
ValueFromPipeline = parameterSet.ValueFromPipeline,
171-
ValueFromPipelineByPropertyName = parameterSet.ValueFromPipelineByPropertyName
172-
};
173-
174-
if (parameterSet.ParameterSetName.Equals("__AllParameterSets"))
175-
{
176-
globalParameters.Add(param);
177-
}
178-
179-
parameterSetMetadata.Parameters.Add(param);
180-
181-
if (parameterSetMetadata.Parameters.Count == 1)
182-
{
183-
cmdletMetadata.ParameterSets.Add(parameterSetMetadata);
184-
}
182+
cmdletMetadata.ParameterSets.Add(parameterSetMetadata);
185183
}
186184
}
185+
}
187186

188-
foreach (var parameterSet in cmdletMetadata.ParameterSets)
187+
foreach (var parameterSet in cmdletMetadata.ParameterSets)
188+
{
189+
if (parameterSet.Name.Equals("__AllParameterSets"))
189190
{
190-
if (parameterSet.Name.Equals("__AllParameterSets"))
191-
{
192-
continue;
193-
}
194-
195-
foreach (var parameter in globalParameters)
196-
{
197-
var param = parameterSet.Parameters.FirstOrDefault(p => p.ParameterMetadata.Name.Equals(parameter.ParameterMetadata.Name));
198-
if (param == null)
199-
{
200-
parameterSet.Parameters.Add(parameter);
201-
}
202-
}
191+
continue;
203192
}
204193

205-
if (!cmdletMetadata.ParameterSets.Any(p => p.Name.Equals(cmdletMetadata.DefaultParameterSetName, StringComparison.OrdinalIgnoreCase)))
194+
foreach (var parameter in globalParameters)
206195
{
207-
var defaultSet = new Models.ParameterSetMetadata
196+
var param = parameterSet.Parameters.FirstOrDefault(p => p.ParameterMetadata.Name.Equals(parameter.ParameterMetadata.Name));
197+
if (param == null)
208198
{
209-
Name = cmdletMetadata.DefaultParameterSetName
210-
};
211-
cmdletMetadata.ParameterSets.Add(defaultSet);
199+
parameterSet.Parameters.Add(parameter);
200+
}
212201
}
202+
}
213203

214-
results.Add(cmdletMetadata);
204+
if (!cmdletMetadata.ParameterSets.Any(p => p.Name.Equals(cmdletMetadata.DefaultParameterSetName, StringComparison.OrdinalIgnoreCase)))
205+
{
206+
var defaultSet = new Models.ParameterSetMetadata
207+
{
208+
Name = cmdletMetadata.DefaultParameterSetName
209+
};
210+
cmdletMetadata.ParameterSets.Add(defaultSet);
215211
}
216-
}
217-
catch (Exception ex)
218-
{
219-
throw;
212+
213+
results.Add(cmdletMetadata);
220214
}
221215

222216
ModuleMetadata.Cmdlets = results;

0 commit comments

Comments
 (0)