@@ -47,24 +47,26 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
4747
4848 switch node. name. text {
4949 case " Array " :
50- guard let typeArgument = genericArgumentList. firstAndOnly else {
50+ guard case . type ( let typeArgument) = genericArgumentList. firstAndOnly? . argument else {
5151 newNode = nil
5252 break
5353 }
5454 newNode = shorthandArrayType (
55- element: typeArgument. argument ,
55+ element: typeArgument,
5656 leadingTrivia: leadingTrivia,
5757 trailingTrivia: trailingTrivia
5858 )
5959
6060 case " Dictionary " :
61- guard let typeArguments = exactlyTwoChildren ( of: genericArgumentList) else {
61+ guard let arguments = exactlyTwoChildren ( of: genericArgumentList) ,
62+ case ( . type( let type0Argument) , . type( let type1Argument) ) = ( arguments. 0 . argument, arguments. 1 . argument)
63+ else {
6264 newNode = nil
6365 break
6466 }
6567 newNode = shorthandDictionaryType (
66- key: typeArguments . 0 . argument ,
67- value: typeArguments . 1 . argument ,
68+ key: type0Argument ,
69+ value: type1Argument ,
6870 leadingTrivia: leadingTrivia,
6971 trailingTrivia: trailingTrivia
7072 )
@@ -74,12 +76,12 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
7476 newNode = nil
7577 break
7678 }
77- guard let typeArgument = genericArgumentList. firstAndOnly else {
79+ guard case . type ( let typeArgument) = genericArgumentList. firstAndOnly? . argument else {
7880 newNode = nil
7981 break
8082 }
8183 newNode = shorthandOptionalType (
82- wrapping: typeArgument. argument ,
84+ wrapping: typeArgument,
8385 leadingTrivia: leadingTrivia,
8486 trailingTrivia: trailingTrivia
8587 )
@@ -137,38 +139,40 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
137139
138140 switch expression. baseName. text {
139141 case " Array " :
140- guard let typeArgument = genericArgumentList. firstAndOnly else {
142+ guard case . type ( let typeArgument) = genericArgumentList. firstAndOnly? . argument else {
141143 newNode = nil
142144 break
143145 }
144146 let arrayTypeExpr = makeArrayTypeExpression (
145- elementType: typeArgument. argument ,
147+ elementType: typeArgument,
146148 leftSquare: TokenSyntax . leftSquareToken ( leadingTrivia: leadingTrivia) ,
147149 rightSquare: TokenSyntax . rightSquareToken ( trailingTrivia: trailingTrivia)
148150 )
149151 newNode = ExprSyntax ( arrayTypeExpr)
150152
151153 case " Dictionary " :
152- guard let typeArguments = exactlyTwoChildren ( of: genericArgumentList) else {
154+ guard let arguments = exactlyTwoChildren ( of: genericArgumentList) ,
155+ case ( . type( let type0Argument) , . type( let type1Argument) ) = ( arguments. 0 . argument, arguments. 1 . argument)
156+ else {
153157 newNode = nil
154158 break
155159 }
156160 let dictTypeExpr = makeDictionaryTypeExpression (
157- keyType: typeArguments . 0 . argument ,
158- valueType: typeArguments . 1 . argument ,
161+ keyType: type0Argument ,
162+ valueType: type1Argument ,
159163 leftSquare: TokenSyntax . leftSquareToken ( leadingTrivia: leadingTrivia) ,
160164 colon: TokenSyntax . colonToken ( trailingTrivia: . spaces( 1 ) ) ,
161165 rightSquare: TokenSyntax . rightSquareToken ( trailingTrivia: trailingTrivia)
162166 )
163167 newNode = ExprSyntax ( dictTypeExpr)
164168
165169 case " Optional " :
166- guard let typeArgument = genericArgumentList. firstAndOnly else {
170+ guard case . type ( let typeArgument) = genericArgumentList. firstAndOnly? . argument else {
167171 newNode = nil
168172 break
169173 }
170174 let optionalTypeExpr = makeOptionalTypeExpression (
171- wrapping: typeArgument. argument ,
175+ wrapping: typeArgument,
172176 leadingTrivia: leadingTrivia,
173177 questionMark: TokenSyntax . postfixQuestionMarkToken ( trailingTrivia: trailingTrivia)
174178 )
0 commit comments