@@ -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