@@ -47,24 +47,28 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
4747
4848    switch  node. name. text { 
4949    case  " Array " : 
50-       guard  let  typeArgument =  genericArgumentList. firstAndOnly else  { 
50+       guard  let  argument =  genericArgumentList. firstAndOnly, 
51+             case . type( let  typeArgument)  =  argument else  { 
5152        newNode =  nil 
5253        break 
5354      } 
55+ 
5456      newNode =  shorthandArrayType ( 
55-         element:  typeArgument. argument , 
57+         element:  typeArgument, 
5658        leadingTrivia:  leadingTrivia, 
5759        trailingTrivia:  trailingTrivia
5860      ) 
5961
6062    case  " Dictionary " : 
61-       guard  let  typeArguments =  exactlyTwoChildren ( of:  genericArgumentList)  else  { 
63+       guard  let  arguments =  exactlyTwoChildren ( of:  genericArgumentList) , 
64+             case . type( let  type0Argument)  =  arguments. 0 . argument, 
65+             caes . type ( let type1 Argument)  =  arguments. 1 . argument else  { 
6266        newNode =  nil 
6367        break 
6468      } 
6569      newNode =  shorthandDictionaryType ( 
66-         key:  typeArguments . 0 . argument , 
67-         value:  typeArguments . 1 . argument , 
70+         key:  type0Argument , 
71+         value:  type1Argument , 
6872        leadingTrivia:  leadingTrivia, 
6973        trailingTrivia:  trailingTrivia
7074      ) 
@@ -74,12 +78,13 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
7478        newNode =  nil 
7579        break 
7680      } 
77-       guard  let  typeArgument =  genericArgumentList. firstAndOnly else  { 
81+       guard  let  argument =  genericArgumentList. firstAndOnly, 
82+             case . type( let  typeArgument)  =  argument else  { 
7883        newNode =  nil 
7984        break 
8085      } 
8186      newNode =  shorthandOptionalType ( 
82-         wrapping:  typeArgument. argument , 
87+         wrapping:  typeArgument, 
8388        leadingTrivia:  leadingTrivia, 
8489        trailingTrivia:  trailingTrivia
8590      ) 
@@ -137,38 +142,42 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
137142
138143    switch  expression. baseName. text { 
139144    case  " Array " : 
140-       guard  let  typeArgument =  genericArgumentList. firstAndOnly else  { 
145+       guard  let  argument =  genericArgumentList. firstAndOnly, 
146+             case . type( let  typeArgument)  =  argument else  { 
141147        newNode =  nil 
142148        break 
143149      } 
144150      let  arrayTypeExpr  =  makeArrayTypeExpression ( 
145-         elementType:  typeArgument. argument , 
151+         elementType:  typeArgument, 
146152        leftSquare:  TokenSyntax . leftSquareToken ( leadingTrivia:  leadingTrivia) , 
147153        rightSquare:  TokenSyntax . rightSquareToken ( trailingTrivia:  trailingTrivia) 
148154      ) 
149155      newNode =  ExprSyntax ( arrayTypeExpr) 
150156
151157    case  " Dictionary " : 
152-       guard  let  typeArguments =  exactlyTwoChildren ( of:  genericArgumentList)  else  { 
158+       guard  let  arguments =  exactlyTwoChildren ( of:  genericArgumentList) , 
159+             case . type( let  type0Argument)  =  arguments. 0 . argument, 
160+             case . type( let  type1Argument)  =  arguments. 1 . argument else  { 
153161        newNode =  nil 
154162        break 
155163      } 
156164      let  dictTypeExpr  =  makeDictionaryTypeExpression ( 
157-         keyType:  typeArguments . 0 . argument , 
158-         valueType:  typeArguments . 1 . argument , 
165+         keyType:  type0Argument , 
166+         valueType:  type1Argument , 
159167        leftSquare:  TokenSyntax . leftSquareToken ( leadingTrivia:  leadingTrivia) , 
160168        colon:  TokenSyntax . colonToken ( trailingTrivia:  . spaces( 1 ) ) , 
161169        rightSquare:  TokenSyntax . rightSquareToken ( trailingTrivia:  trailingTrivia) 
162170      ) 
163171      newNode =  ExprSyntax ( dictTypeExpr) 
164172
165173    case  " Optional " : 
166-       guard  let  typeArgument =  genericArgumentList. firstAndOnly else  { 
174+       guard  let  argument =  genericArgumentList. firstAndOnly, 
175+             case . type( let  typeArgument)  =  argument else  { 
167176        newNode =  nil 
168177        break 
169178      } 
170179      let  optionalTypeExpr  =  makeOptionalTypeExpression ( 
171-         wrapping:  typeArgument. argument , 
180+         wrapping:  typeArgument, 
172181        leadingTrivia:  leadingTrivia, 
173182        questionMark:  TokenSyntax . postfixQuestionMarkToken ( trailingTrivia:  trailingTrivia) 
174183      ) 
0 commit comments