@@ -1134,263 +1134,263 @@ fileprivate protocol DiagVerifiable {}
1134
1134
extension IncrementalCompilationTests : DiagVerifiable { }
1135
1135
1136
1136
extension DiagVerifiable {
1137
- private typealias DB = DiagsBuilder // reduce the clutter
1137
+
1138
1138
1139
1139
// MARK: - misc
1140
- @DB var enablingCrossModule : [ Diagnostic . Message ] {
1140
+ @DiagsBuilder var enablingCrossModule : [ Diagnostic . Message ] {
1141
1141
" Incremental compilation: Enabling incremental cross-module building "
1142
1142
}
1143
- @DB func disabledForRemoval( _ removedInput: String ) -> [ Diagnostic . Message ] {
1143
+ @DiagsBuilder func disabledForRemoval( _ removedInput: String ) -> [ Diagnostic . Message ] {
1144
1144
" Incremental compilation: Incremental compilation has been disabled, because the following inputs were used in the previous compilation but not in this one: \( removedInput) .swift "
1145
1145
}
1146
1146
// MARK: - build record
1147
- @DB var cannotReadBuildRecord : [ Diagnostic . Message ] {
1147
+ @DiagsBuilder var cannotReadBuildRecord : [ Diagnostic . Message ] {
1148
1148
" Incremental compilation: Incremental compilation could not read build record at "
1149
1149
}
1150
- @DB var disablingIncrementalCannotReadBuildRecord : [ Diagnostic . Message ] {
1150
+ @DiagsBuilder var disablingIncrementalCannotReadBuildRecord : [ Diagnostic . Message ] {
1151
1151
" Incremental compilation: Disabling incremental build: could not read build record "
1152
1152
}
1153
1153
// MARK: - graph
1154
- @DB var createdGraphFromSwiftdeps : [ Diagnostic . Message ] {
1154
+ @DiagsBuilder var createdGraphFromSwiftdeps : [ Diagnostic . Message ] {
1155
1155
" Incremental compilation: Created dependency graph from swiftdeps files "
1156
1156
}
1157
- @DB var readGraph : [ Diagnostic . Message ] {
1157
+ @DiagsBuilder var readGraph : [ Diagnostic . Message ] {
1158
1158
" Incremental compilation: Read dependency graph "
1159
1159
}
1160
1160
// MARK: - dependencies
1161
- @DB func fingerprintChanged( _ aspect: DependencyKey . DeclAspect , _ input: String ) -> [ Diagnostic . Message ] {
1161
+ @DiagsBuilder func fingerprintChanged( _ aspect: DependencyKey . DeclAspect , _ input: String ) -> [ Diagnostic . Message ] {
1162
1162
" Incremental compilation: Fingerprint changed for \( aspect) of source file \( input) .swiftdeps in \( input) .swiftdeps "
1163
1163
}
1164
1164
1165
- @DB func newDefinitionOfSourceFile( _ aspect: DependencyKey . DeclAspect , _ input: String ) -> [ Diagnostic . Message ] {
1165
+ @DiagsBuilder func newDefinitionOfSourceFile( _ aspect: DependencyKey . DeclAspect , _ input: String ) -> [ Diagnostic . Message ] {
1166
1166
" Incremental compilation: New definition: \( aspect) of source file \( input) .swiftdeps in \( input) .swiftdeps "
1167
1167
}
1168
- @DB func newDefinitionOfTopLevelName( _ aspect: DependencyKey . DeclAspect , name: String , input: String ) -> [ Diagnostic . Message ] {
1168
+ @DiagsBuilder func newDefinitionOfTopLevelName( _ aspect: DependencyKey . DeclAspect , name: String , input: String ) -> [ Diagnostic . Message ] {
1169
1169
" Incremental compilation: New definition: \( aspect) of top-level name ' \( name) ' in \( input) .swiftdeps "
1170
1170
}
1171
1171
1172
- @DB func foundDependent( of defInput: String , compiling useInput: String ) -> [ Diagnostic . Message ] {
1172
+ @DiagsBuilder func foundDependent( of defInput: String , compiling useInput: String ) -> [ Diagnostic . Message ] {
1173
1173
" Incremental compilation: Found dependent of \( defInput) .swift: {compile: \( useInput) .o <= \( useInput) .swift} "
1174
1174
}
1175
- @DB func hasMalformed( _ newInput: String ) -> [ Diagnostic . Message ] {
1175
+ @DiagsBuilder func hasMalformed( _ newInput: String ) -> [ Diagnostic . Message ] {
1176
1176
" Incremental compilation: Has malformed dependency source; will queue {compile: \( newInput) .o <= \( newInput) .swift} "
1177
1177
}
1178
- @DB func failedToFindSource( _ input: String ) -> [ Diagnostic . Message ] {
1178
+ @DiagsBuilder func failedToFindSource( _ input: String ) -> [ Diagnostic . Message ] {
1179
1179
. warning( " Failed to find source file for ' \( input) .swiftdeps', recovering with a full rebuild. Next build will be incremental. " )
1180
1180
}
1181
- @DB func failedToReadSomeSource( compiling input: String ) -> [ Diagnostic . Message ] {
1181
+ @DiagsBuilder func failedToReadSomeSource( compiling input: String ) -> [ Diagnostic . Message ] {
1182
1182
" Incremental compilation: Failed to read some dependencies source; compiling everything {compile: \( input) .o <= \( input) .swift} "
1183
1183
}
1184
1184
1185
1185
// MARK: - tracing
1186
- @DB func trace( @TraceBuilder _ steps: ( ) -> String ) -> [ Diagnostic . Message ] {
1186
+ @DiagsBuilder func trace( @TraceBuilder _ steps: ( ) -> String ) -> [ Diagnostic . Message ] {
1187
1187
steps ( )
1188
1188
}
1189
1189
1190
1190
// MARK: - scheduling
1191
- @DB func schedulingAlwaysRebuild( _ input: String ) -> [ Diagnostic . Message ] {
1191
+ @DiagsBuilder func schedulingAlwaysRebuild( _ input: String ) -> [ Diagnostic . Message ] {
1192
1192
" Incremental compilation: scheduling dependents of \( input) .swift; -driver-always-rebuild-dependents "
1193
1193
}
1194
- @DB func schedulingNew( _ input: String ) -> [ Diagnostic . Message ] {
1194
+ @DiagsBuilder func schedulingNew( _ input: String ) -> [ Diagnostic . Message ] {
1195
1195
" Incremental compilation: Scheduling new {compile: \( input) .o <= \( input) .swift} "
1196
1196
}
1197
1197
1198
- @DB func schedulingChanged( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1198
+ @DiagsBuilder func schedulingChanged( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1199
1199
for input in inputs {
1200
1200
" Incremental compilation: Scheduing changed input {compile: \( input) .o <= \( input) .swift} "
1201
1201
}
1202
1202
}
1203
- @DB func schedulingChanged( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1203
+ @DiagsBuilder func schedulingChanged( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1204
1204
schedulingChanged ( inputs)
1205
1205
}
1206
1206
1207
- @DB func schedulingInvalidated( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1207
+ @DiagsBuilder func schedulingInvalidated( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1208
1208
for input in inputs {
1209
1209
" Incremental compilation: Scheduling invalidated {compile: \( input) .o <= \( input) .swift} "
1210
1210
}
1211
1211
}
1212
- @DB func schedulingInvalidated( _ inputs: String ... ) -> [ Diagnostic . Message ] { schedulingInvalidated ( inputs) }
1212
+ @DiagsBuilder func schedulingInvalidated( _ inputs: String ... ) -> [ Diagnostic . Message ] { schedulingInvalidated ( inputs) }
1213
1213
1214
- @DB func schedulingChangedInitialQueuing( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1214
+ @DiagsBuilder func schedulingChangedInitialQueuing( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1215
1215
for input in inputs {
1216
1216
schedulingChanged ( input)
1217
1217
queuingInitial ( input)
1218
1218
notSchedulingDependentsUnknownChanges ( input)
1219
1219
}
1220
1220
}
1221
1221
1222
- @DB func schedulingDependent( of defInput: String , compiling useInput: String ) -> [ Diagnostic . Message ] {
1222
+ @DiagsBuilder func schedulingDependent( of defInput: String , compiling useInput: String ) -> [ Diagnostic . Message ] {
1223
1223
" Incremental compilation: Immediately scheduling dependent on \( defInput) .swift {compile: \( useInput) .o <= \( useInput) .swift} "
1224
1224
}
1225
1225
1226
- @DB func notSchedulingDependentsNoEntry( _ input: String ) -> [ Diagnostic . Message ] {
1226
+ @DiagsBuilder func notSchedulingDependentsNoEntry( _ input: String ) -> [ Diagnostic . Message ] {
1227
1227
" Incremental compilation: not scheduling dependents of \( input) .swift: no entry in build record or dependency graph "
1228
1228
}
1229
1229
1230
- @DB func notSchedulingDependentsUnknownChanges( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1230
+ @DiagsBuilder func notSchedulingDependentsUnknownChanges( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1231
1231
for input in inputs {
1232
1232
" Incremental compilation: not scheduling dependents of \( input) .swift; unknown changes "
1233
1233
}
1234
1234
}
1235
- @DB func notSchedulingDependentsUnknownChanges( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1235
+ @DiagsBuilder func notSchedulingDependentsUnknownChanges( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1236
1236
notSchedulingDependentsUnknownChanges ( inputs)
1237
1237
}
1238
1238
1239
- @DB func missing( _ input: String ) -> [ Diagnostic . Message ] {
1239
+ @DiagsBuilder func missing( _ input: String ) -> [ Diagnostic . Message ] {
1240
1240
" Incremental compilation: Missing an output; will queue {compile: \( input) .o <= \( input) .swift} "
1241
1241
}
1242
1242
1243
- @DB func queuingInitial( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1243
+ @DiagsBuilder func queuingInitial( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1244
1244
for input in inputs {
1245
1245
" Incremental compilation: Queuing (initial): {compile: \( input) .o <= \( input) .swift} "
1246
1246
}
1247
1247
}
1248
- @DB func queuingInitial( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1248
+ @DiagsBuilder func queuingInitial( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1249
1249
queuingInitial ( inputs)
1250
1250
}
1251
1251
1252
- @DB func queuingBecauseInitial( _ input: String ) -> [ Diagnostic . Message ] {
1252
+ @DiagsBuilder func queuingBecauseInitial( _ input: String ) -> [ Diagnostic . Message ] {
1253
1253
" Incremental compilation: Queuing because of the initial set: {compile: \( input) .o <= \( input) .swift} "
1254
1254
}
1255
1255
1256
- @DB func queuingLater( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1256
+ @DiagsBuilder func queuingLater( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1257
1257
for input in inputs {
1258
1258
" Incremental compilation: Queuing because of dependencies discovered later: {compile: \( input) .o <= \( input) .swift} "
1259
1259
}
1260
1260
}
1261
- @DB func queuingLater( _ inputs: String ... ) -> [ Diagnostic . Message ] { queuingLater ( inputs) }
1261
+ @DiagsBuilder func queuingLater( _ inputs: String ... ) -> [ Diagnostic . Message ] { queuingLater ( inputs) }
1262
1262
1263
- @DB func queuingLaterSchedInvalBatchLink( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1263
+ @DiagsBuilder func queuingLaterSchedInvalBatchLink( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1264
1264
queuingLater ( inputs)
1265
1265
schedulingInvalidated ( inputs)
1266
1266
}
1267
- @DB func queuingLaterSchedInvalBatchLink( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1267
+ @DiagsBuilder func queuingLaterSchedInvalBatchLink( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1268
1268
queuingLaterSchedInvalBatchLink ( inputs)
1269
1269
}
1270
1270
1271
1271
1272
1272
// MARK: - skipping
1273
- @DB func maySkip( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1273
+ @DiagsBuilder func maySkip( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1274
1274
for input in inputs {
1275
1275
" Incremental compilation: May skip current input: {compile: \( input) .o <= \( input) .swift} "
1276
1276
}
1277
1277
}
1278
- @DB func maySkip( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1278
+ @DiagsBuilder func maySkip( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1279
1279
maySkip ( inputs)
1280
1280
}
1281
- @DB func skipping( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1281
+ @DiagsBuilder func skipping( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1282
1282
for input in inputs {
1283
1283
" Incremental compilation: Skipping input: {compile: \( input) .o <= \( input) .swift} "
1284
1284
}
1285
1285
}
1286
- @DB func skipping( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1286
+ @DiagsBuilder func skipping( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1287
1287
skipping ( inputs)
1288
1288
}
1289
- @DB func skipped( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1289
+ @DiagsBuilder func skipped( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1290
1290
for input in inputs {
1291
1291
" Skipped Compiling \( input) .swift "
1292
1292
}
1293
1293
}
1294
- @DB func skipped( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1294
+ @DiagsBuilder func skipped( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1295
1295
skipped ( inputs)
1296
1296
}
1297
- @DB func skippingAll( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1297
+ @DiagsBuilder func skippingAll( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1298
1298
maySkip ( inputs)
1299
1299
skipping ( inputs)
1300
1300
skippingLinking
1301
1301
skipped ( inputs)
1302
1302
}
1303
- @DB func skippingAll( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1303
+ @DiagsBuilder func skippingAll( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1304
1304
skippingAll ( inputs)
1305
1305
}
1306
- @DB func readGraphAndSkipAll( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1306
+ @DiagsBuilder func readGraphAndSkipAll( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1307
1307
readGraph
1308
1308
enablingCrossModule
1309
1309
skippingAll ( inputs)
1310
1310
}
1311
- @DB func readGraphAndSkipAll( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1311
+ @DiagsBuilder func readGraphAndSkipAll( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1312
1312
readGraphAndSkipAll ( inputs)
1313
1313
}
1314
1314
1315
1315
// MARK: - batching
1316
- @DB func addingToBatch( _ inputs: [ String ] , _ b: Int ) -> [ Diagnostic . Message ] {
1316
+ @DiagsBuilder func addingToBatch( _ inputs: [ String ] , _ b: Int ) -> [ Diagnostic . Message ] {
1317
1317
for input in inputs {
1318
1318
" Adding {compile: \( input) .swift} to batch \( b) "
1319
1319
}
1320
1320
}
1321
- @DB func formingBatch( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1321
+ @DiagsBuilder func formingBatch( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1322
1322
" Forming batch job from \( inputs. count) constituents: \( inputs. map { $0 + " .swift " } . joined ( separator: " , " ) ) "
1323
1323
}
1324
- @DB func formingBatch( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1324
+ @DiagsBuilder func formingBatch( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1325
1325
formingBatch ( inputs)
1326
1326
}
1327
- @DB func foundBatchableJobs( _ jobCount: Int ) -> [ Diagnostic . Message ] {
1327
+ @DiagsBuilder func foundBatchableJobs( _ jobCount: Int ) -> [ Diagnostic . Message ] {
1328
1328
// Omitting the "s" from "jobs" works for either 1 or many, since
1329
1329
// the verifier does prefix matching.
1330
1330
" Found \( jobCount) batchable job "
1331
1331
}
1332
- @DB var formingOneBatch : [ Diagnostic . Message ] { " Forming into 1 batch " }
1332
+ @DiagsBuilder var formingOneBatch : [ Diagnostic . Message ] { " Forming into 1 batch " }
1333
1333
1334
- @DB func findingAndFormingBatch( _ jobCount: Int ) -> [ Diagnostic . Message ] {
1334
+ @DiagsBuilder func findingAndFormingBatch( _ jobCount: Int ) -> [ Diagnostic . Message ] {
1335
1335
foundBatchableJobs ( jobCount) ; formingOneBatch
1336
1336
}
1337
- @DB func addingToBatchThenForming( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1337
+ @DiagsBuilder func addingToBatchThenForming( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1338
1338
addingToBatch ( inputs, 0 ) ; formingBatch ( inputs)
1339
1339
}
1340
- @DB func addingToBatchThenForming( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1340
+ @DiagsBuilder func addingToBatchThenForming( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1341
1341
addingToBatchThenForming ( inputs)
1342
1342
}
1343
1343
1344
1344
// MARK: - compiling
1345
- @DB func starting( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1345
+ @DiagsBuilder func starting( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1346
1346
" Starting Compiling \( inputs. map { $0 + " .swift " } . joined ( separator: " , " ) ) "
1347
1347
}
1348
- @DB func finished( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1348
+ @DiagsBuilder func finished( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1349
1349
" Finished Compiling \( inputs. map { $0 + " .swift " } . joined ( separator: " , " ) ) "
1350
1350
}
1351
- @DB func compiling( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1351
+ @DiagsBuilder func compiling( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1352
1352
starting ( inputs) ; finished ( inputs)
1353
1353
}
1354
- @DB func compiling( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1354
+ @DiagsBuilder func compiling( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1355
1355
compiling ( inputs)
1356
1356
}
1357
1357
1358
1358
// MARK: - batching and compiling
1359
- @DB func findingBatchingCompiling( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1359
+ @DiagsBuilder func findingBatchingCompiling( _ inputs: [ String ] ) -> [ Diagnostic . Message ] {
1360
1360
findingAndFormingBatch ( inputs. count)
1361
1361
addingToBatchThenForming ( inputs)
1362
1362
compiling ( inputs)
1363
1363
}
1364
- @DB func findingBatchingCompiling( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1364
+ @DiagsBuilder func findingBatchingCompiling( _ inputs: String ... ) -> [ Diagnostic . Message ] {
1365
1365
findingBatchingCompiling ( inputs)
1366
1366
}
1367
1367
1368
1368
// MARK: - linking
1369
- @DB var schedulingPostCompileJobs : [ Diagnostic . Message ] {
1369
+ @DiagsBuilder var schedulingPostCompileJobs : [ Diagnostic . Message ] {
1370
1370
" Incremental compilation: Scheduling all post-compile jobs because something was compiled "
1371
1371
}
1372
- @DB var startingLinking : [ Diagnostic . Message ] { " Starting Linking theModule " }
1372
+ @DiagsBuilder var startingLinking : [ Diagnostic . Message ] { " Starting Linking theModule " }
1373
1373
1374
- @DB var finishedLinking : [ Diagnostic . Message ] { " Finished Linking theModule " }
1374
+ @DiagsBuilder var finishedLinking : [ Diagnostic . Message ] { " Finished Linking theModule " }
1375
1375
1376
- @DB var skippingLinking : [ Diagnostic . Message ] {
1376
+ @DiagsBuilder var skippingLinking : [ Diagnostic . Message ] {
1377
1377
" Incremental compilation: Skipping job: Linking theModule; oldest output is current "
1378
1378
}
1379
- @DB var schedLinking : [ Diagnostic . Message ] { schedulingPostCompileJobs; linking }
1379
+ @DiagsBuilder var schedLinking : [ Diagnostic . Message ] { schedulingPostCompileJobs; linking }
1380
1380
1381
- @DB var linking : [ Diagnostic . Message ] { startingLinking; finishedLinking}
1381
+ @DiagsBuilder var linking : [ Diagnostic . Message ] { startingLinking; finishedLinking}
1382
1382
1383
1383
// MARK: - autolinking
1384
- @DB func queuingExtractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1384
+ @DiagsBuilder func queuingExtractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1385
1385
" Incremental compilation: Queuing Extracting autolink information for module \( module) "
1386
1386
}
1387
- @DB func startingExtractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1387
+ @DiagsBuilder func startingExtractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1388
1388
" Starting Extracting autolink information for module \( module) "
1389
1389
}
1390
- @DB func finishedExtractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1390
+ @DiagsBuilder func finishedExtractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1391
1391
" Finished Extracting autolink information for module \( module) "
1392
1392
}
1393
- @DB func extractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1393
+ @DiagsBuilder func extractingAutolink( _ module: String ) -> [ Diagnostic . Message ] {
1394
1394
startingExtractingAutolink ( module)
1395
1395
finishedExtractingAutolink ( module)
1396
1396
}
0 commit comments