Skip to content

Commit b7cb9fe

Browse files
StartAutomatingStartAutomating
authored andcommitted
CommandAST/AttributeAST: Adding Property Aliases (Fixes #176)
1 parent 3ab4785 commit b7cb9fe

File tree

1 file changed

+30
-5
lines changed

1 file changed

+30
-5
lines changed

PipeScript.types.ps1xml

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,18 @@ $tokenCount = 0
4949
<Type>
5050
<Name>System.Management.Automation.Language.AttributeAst</Name>
5151
<Members>
52+
<AliasProperty>
53+
<Name>Args</Name>
54+
<ReferencedMemberName>ArgumentList</ReferencedMemberName>
55+
</AliasProperty>
56+
<AliasProperty>
57+
<Name>Arguments</Name>
58+
<ReferencedMemberName>ArgumentList</ReferencedMemberName>
59+
</AliasProperty>
60+
<AliasProperty>
61+
<Name>Parameters</Name>
62+
<ReferencedMemberName>Parameter</ReferencedMemberName>
63+
</AliasProperty>
5264
<ScriptProperty>
5365
<Name>ArgumentList</Name>
5466
<GetScriptBlock>
@@ -186,6 +198,18 @@ $decamelCase = [Regex]::new('(?&lt;=[a-z])(?=[A-Z])')
186198
<Type>
187199
<Name>System.Management.Automation.Language.CommandAst</Name>
188200
<Members>
201+
<AliasProperty>
202+
<Name>Args</Name>
203+
<ReferencedMemberName>ArgumentList</ReferencedMemberName>
204+
</AliasProperty>
205+
<AliasProperty>
206+
<Name>Arguments</Name>
207+
<ReferencedMemberName>ArgumentList</ReferencedMemberName>
208+
</AliasProperty>
209+
<AliasProperty>
210+
<Name>Parameters</Name>
211+
<ReferencedMemberName>Parameter</ReferencedMemberName>
212+
</AliasProperty>
189213
<ScriptProperty>
190214
<Name>ArgumentList</Name>
191215
<GetScriptBlock>
@@ -229,24 +253,25 @@ for (
229253
<ScriptProperty>
230254
<Name>Parameter</Name>
231255
<GetScriptBlock>
232-
$NamedParameters = [Ordered]@{}
256+
$commandAst = $this
257+
$NamedParameters = [Ordered]@{}
233258
$parameterAstType = [Management.Automation.Language.CommandParameterAst]
234259

235260
for (
236261
$commandElementIndex = 1
237-
$commandElementIndex -lt $this.CommandElements.Count
262+
$commandElementIndex -lt $commandAst.CommandElements.Count
238263
$commandElementIndex++
239264
)
240265
{
241-
$commandElement = $this.CommandElements[$commandElementIndex]
242-
$nextElement = $this.CommandElements[$commandElementIndex + 1]
266+
$commandElement = $commandAst.CommandElements[$commandElementIndex]
267+
$nextElement = $commandAst.CommandElements[$commandElementIndex + 1]
243268
if ($commandElement -is $parameterAstType) {
244269
if ($commandElement.Argument) {
245270
$NamedParameters[$commandElement.ParameterName] =
246271
$commandElement.Argument.ConvertFromAst()
247272
} elseif ($nextElement -and $nextElement -isnot $parameterAstType) {
248273
$NamedParameters[$commandElement.ParameterName] =
249-
$nextElement.Argument.ConvertFromAst()
274+
$nextElement.ConvertFromAst()
250275
$commandElementIndex++
251276
} else {
252277
$NamedParameters[$commandElement.ParameterName] = $true

0 commit comments

Comments
 (0)