@@ -69,9 +69,10 @@ public extension NormalizableDeclSyntax {
6969 if let genericType = genericWhereClause? . requirements. lazy. compactMap ( { requirement -> TypeSyntax ? in
7070 switch requirement. requirement {
7171 case let . sameTypeRequirement( sameType) :
72- guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
72+ guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text,
73+ case let . type( rightType) = sameType. rightType
7374 else { return nil }
74- return sameType . rightType
75+ return rightType
7576 case let . conformanceRequirement( conformance) :
7677 guard conformance. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
7778 else { return nil }
@@ -99,9 +100,10 @@ public extension NormalizableDeclSyntax {
99100 if let genericType = genericWhereClause? . requirements. lazy. compactMap ( { requirement -> TypeSyntax ? in
100101 switch requirement. requirement {
101102 case let . sameTypeRequirement( sameType) :
102- guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
103+ guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text,
104+ case let . type( rightType) = sameType. rightType
103105 else { return nil }
104- return sameType . rightType
106+ return rightType
105107 case let . conformanceRequirement( conformance) :
106108 guard conformance. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
107109 else { return nil }
@@ -128,9 +130,10 @@ public extension NormalizableDeclSyntax {
128130 if let genericType = genericWhereClause? . requirements. lazy. compactMap ( { requirement -> TypeSyntax ? in
129131 switch requirement. requirement {
130132 case let . sameTypeRequirement( sameType) :
131- guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
133+ guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text,
134+ case let . type( rightType) = sameType. rightType
132135 else { return nil }
133- return sameType . rightType
136+ return rightType
134137 case let . conformanceRequirement( conformance) :
135138 guard conformance. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
136139 else { return nil }
@@ -158,9 +161,10 @@ public extension NormalizableDeclSyntax {
158161 if let genericType = genericWhereClause? . requirements. lazy. compactMap ( { requirement -> TypeSyntax ? in
159162 switch requirement. requirement {
160163 case let . sameTypeRequirement( sameType) :
161- guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
164+ guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text,
165+ case let . type( rightType) = sameType. rightType
162166 else { return nil }
163- return sameType . rightType
167+ return rightType
164168 case let . conformanceRequirement( conformance) :
165169 guard conformance. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
166170 else { return nil }
@@ -268,9 +272,10 @@ public extension NormalizableDeclSyntax {
268272 if let genericType = genericWhereClause? . requirements. lazy. compactMap ( { requirement -> TypeSyntax ? in
269273 switch requirement. requirement {
270274 case let . sameTypeRequirement( sameType) :
271- guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
275+ guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text,
276+ case let . type( rightType) = sameType. rightType
272277 else { return nil }
273- return sameType . rightType
278+ return rightType
274279 case let . conformanceRequirement( conformance) :
275280 guard conformance. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
276281 else { return nil }
@@ -304,9 +309,10 @@ public extension NormalizableDeclSyntax {
304309 let genericType = genericWhereClause? . requirements. lazy. compactMap ( { requirement -> TypeSyntax ? in
305310 switch requirement. requirement {
306311 case let . sameTypeRequirement( sameType) :
307- guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
312+ guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text,
313+ case let . type( rightType) = sameType. rightType
308314 else { return nil }
309- return sameType . rightType
315+ return rightType
310316 case let . conformanceRequirement( conformance) :
311317 guard conformance. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
312318 else { return nil }
@@ -340,9 +346,10 @@ public extension NormalizableDeclSyntax {
340346 let genericType = genericWhereClause? . requirements. lazy. compactMap ( { requirement -> TypeSyntax ? in
341347 switch requirement. requirement {
342348 case let . sameTypeRequirement( sameType) :
343- guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
349+ guard sameType. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text,
350+ case let . type( rightType) = sameType. rightType
344351 else { return nil }
345- return sameType . rightType
352+ return rightType
346353 case let . conformanceRequirement( conformance) :
347354 guard conformance. leftType. as ( IdentifierTypeSyntax . self) ? . name. text == identifierType. name. text
348355 else { return nil }
@@ -392,7 +399,7 @@ public extension NormalizableDeclSyntax {
392399 } else if let memberType = parameter. type. as ( MemberTypeSyntax . self) ,
393400 memberType. baseType. as ( IdentifierTypeSyntax . self) ? . name. text == " Swift " ,
394401 memberType. name. text == " Set " ,
395- let elementType = memberType. genericArgumentClause? . arguments. first? . argument
402+ case let . type ( elementType) = memberType. genericArgumentClause? . arguments. first? . argument
396403 { // Swift.Set<T> -> AttributeReference<StylesheetResolvableSet<T.Resolvable>>
397404 return parameter
398405 . with ( \. type, TypeSyntax ( IdentifierTypeSyntax ( name: . identifier( " StylesheetResolvableSet " ) , genericArgumentClause: GenericArgumentClauseSyntax {
@@ -570,10 +577,10 @@ public extension TypeSyntax {
570577 } else if let memberType = self . as ( MemberTypeSyntax . self) ,
571578 memberType. baseType. as ( IdentifierTypeSyntax . self) ? . name. text == " Swift " ,
572579 memberType. name. text == " Set " ,
573- let elementType = memberType. genericArgumentClause? . arguments. first? . argument
580+ case let . type ( elementType) = memberType. genericArgumentClause? . arguments. first? . argument
574581 { // Swift.Set<T> -> StylesheetResolvableSet<T.Resolvable>
575582 return TypeSyntax ( IdentifierTypeSyntax ( name: . identifier( " StylesheetResolvableSet " ) , genericArgumentClause: GenericArgumentClauseSyntax {
576- GenericArgumentSyntax ( argument: MemberTypeSyntax ( baseType: elementType, name: . identifier( " Resolvable " ) ) )
583+ GenericArgumentSyntax ( argument: . type ( TypeSyntax ( MemberTypeSyntax ( baseType: elementType, name: . identifier( " Resolvable " ) ) ) ) )
577584 } ) )
578585 } else if let memberType = self . as ( MemberTypeSyntax . self) ,
579586 memberType. baseType. as ( IdentifierTypeSyntax . self) ? . name. text == " SwiftUICore " ,
0 commit comments