@@ -32,6 +32,7 @@ enum IfConfigError: Error, CustomStringConvertible {
3232 case integerLiteralCondition( syntax: ExprSyntax , replacement: Bool )
3333 case likelySimulatorPlatform( syntax: ExprSyntax )
3434 case endiannessDoesNotMatch( syntax: ExprSyntax , argument: String )
35+ case macabiIsMacCatalyst( syntax: ExprSyntax )
3536
3637 var description : String {
3738 switch self {
@@ -83,6 +84,9 @@ enum IfConfigError: Error, CustomStringConvertible {
8384 return
8485 " platform condition appears to be testing for simulator environment; use 'targetEnvironment(simulator)' instead "
8586
87+ case . macabiIsMacCatalyst:
88+ return " 'macabi' has been renamed to 'macCatalyst' "
89+
8690 case . endiannessDoesNotMatch:
8791 return " unknown endianness for build configuration '_endian' (must be 'big' or 'little') "
8892 }
@@ -105,7 +109,8 @@ enum IfConfigError: Error, CustomStringConvertible {
105109 . ignoredTrailingComponents( version: _, syntax: let syntax) ,
106110 . integerLiteralCondition( syntax: let syntax, replacement: _) ,
107111 . likelySimulatorPlatform( syntax: let syntax) ,
108- . endiannessDoesNotMatch( syntax: let syntax, argument: _) :
112+ . endiannessDoesNotMatch( syntax: let syntax, argument: _) ,
113+ . macabiIsMacCatalyst( syntax: let syntax) :
109114 return Syntax ( syntax)
110115
111116 case . unsupportedVersionOperator( name: _, operator: let op) :
@@ -124,7 +129,7 @@ extension IfConfigError: DiagnosticMessage {
124129 var severity : SwiftDiagnostics . DiagnosticSeverity {
125130 switch self {
126131 case . compilerVersionSecondComponentNotWildcard, . ignoredTrailingComponents,
127- . likelySimulatorPlatform, . endiannessDoesNotMatch:
132+ . likelySimulatorPlatform, . endiannessDoesNotMatch, . macabiIsMacCatalyst :
128133 return . warning
129134 default : return . error
130135 }
@@ -171,6 +176,21 @@ extension IfConfigError: DiagnosticMessage {
171176 )
172177 }
173178
179+ // For the targetEnvironment(macabi) -> macCatalyst rename we have a Fix-It.
180+ if case . macabiIsMacCatalyst( syntax: let syntax) = self {
181+ return Diagnostic (
182+ node: syntax,
183+ message: self ,
184+ fixIt: . replace(
185+ message: SimpleFixItMessage (
186+ message: " replace with 'macCatalyst' "
187+ ) ,
188+ oldNode: syntax,
189+ newNode: " macCatalyst " as ExprSyntax
190+ )
191+ )
192+ }
193+
174194 return Diagnostic ( node: syntax, message: self )
175195 }
176196}
0 commit comments