@@ -28,8 +28,7 @@ private enum CleanupInfo : byte
28
28
None = 0 ,
29
29
TypeMovedToAnotherHierarchy = 1 ,
30
30
ConflictByTable = 2 ,
31
- RootOfConflict = 4 ,
32
- All = TypeMovedToAnotherHierarchy | ConflictByTable | RootOfConflict
31
+ RootOfConflict = 4
33
32
}
34
33
35
34
private readonly NameBuilder nameBuilder ;
@@ -256,9 +255,9 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
256
255
}
257
256
258
257
var deleteInfo = DataDeletionInfo . None ;
259
- if ( cleanupInfo . HasFlag ( CleanupInfo . TypeMovedToAnotherHierarchy ) )
258
+ if ( ( cleanupInfo & CleanupInfo . TypeMovedToAnotherHierarchy ) != 0 )
260
259
deleteInfo |= DataDeletionInfo . PostCopy ;
261
- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
260
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 )
262
261
deleteInfo |= DataDeletionInfo . TableMovement ;
263
262
264
263
foreach ( var info in typesToProcess ) {
@@ -274,13 +273,13 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
274
273
private IEnumerable < ( StoredTypeInfo , IdentityPair ) > GetTypesToCleanForClassTable (
275
274
StoredTypeInfo removedType , CleanupInfo cleanupInfo )
276
275
{
277
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . TypeMovedToAnotherHierarchy ) ) {
278
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) ) {
276
+ if ( ( cleanupInfo & CleanupInfo . TypeMovedToAnotherHierarchy ) == 0 ) {
277
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 ) {
279
278
return removedType . AllAncestors . Append ( removedType )
280
279
. Select ( t => ( t , CreateIdentityPair ( removedType , t ) ) ) ;
281
280
}
282
281
else {
283
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
282
+ if ( ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
284
283
return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
285
284
286
285
var capacity = ( 2 * removedType . AllAncestors . Length ) + removedType . AllDescendants . Length + 1 ;
@@ -301,7 +300,7 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
301
300
}
302
301
}
303
302
else {
304
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) ) {
303
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 ) {
305
304
return removedType . AllAncestors
306
305
. Select ( aType => ( aType , CreateIdentityPair ( removedType , aType ) ) ) ;
307
306
}
@@ -313,16 +312,16 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
313
312
StoredTypeInfo removedType , CleanupInfo cleanupInfo )
314
313
{
315
314
var rootType = removedType . Hierarchy . Root ;
316
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . TypeMovedToAnotherHierarchy ) ) {
317
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
315
+ if ( ( cleanupInfo & CleanupInfo . TypeMovedToAnotherHierarchy ) == 0 ) {
316
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 )
318
317
return new ( StoredTypeInfo , IdentityPair ) [ ] { ( rootType , CreateIdentityPair ( removedType , rootType ) ) } ;
319
318
else {
320
319
return removedType . AllDescendants . Append ( rootType )
321
320
. Select ( t => ( rootType , CreateIdentityPair ( t , rootType ) ) ) ;
322
321
}
323
322
}
324
323
else {
325
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
324
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 )
326
325
return new ( StoredTypeInfo , IdentityPair ) [ ] { ( rootType , CreateIdentityPair ( removedType , rootType ) ) } ;
327
326
}
328
327
return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
@@ -331,18 +330,18 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
331
330
private IEnumerable < ( StoredTypeInfo , IdentityPair ) > GetTypesToCleanForConcreteTable (
332
331
StoredTypeInfo removedType , CleanupInfo cleanupInfo )
333
332
{
334
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . TypeMovedToAnotherHierarchy ) ) {
335
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
333
+ if ( ( cleanupInfo & CleanupInfo . TypeMovedToAnotherHierarchy ) == 0 ) {
334
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 )
336
335
return new ( StoredTypeInfo , IdentityPair ) [ ] { ( removedType , null ) } ;
337
336
else {
338
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
337
+ if ( ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
339
338
return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
340
339
return removedType . AllDescendants . Append ( removedType )
341
340
. Select ( t => ( t , ( IdentityPair ) null ) ) ;
342
341
}
343
342
}
344
343
else {
345
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
344
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 )
346
345
return new ( StoredTypeInfo , IdentityPair ) [ ] { ( removedType , null ) } ;
347
346
}
348
347
return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
@@ -354,7 +353,7 @@ private void GenerateCleanupByForeignKeyHints(StoredTypeInfo removedType, Cleanu
354
353
removedType . AllAncestors . Append ( removedType ) . ForEach ( t => removedTypeAndAncestors . Add ( t ) ) ;
355
354
356
355
357
- var descendantsToHash = cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable )
356
+ var descendantsToHash = ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0
358
357
? removedType . AllDescendants
359
358
: Array . Empty < StoredTypeInfo > ( ) ;
360
359
var descendants = new HashSet < StoredTypeInfo > ( descendantsToHash . Length ) ;
@@ -431,7 +430,7 @@ private void ClearDirectAssociation(StoredTypeInfo removedType,
431
430
CleanupInfo cleanupInfo )
432
431
{
433
432
var inheritanceSchema = declaringType . Hierarchy . InheritanceSchema ;
434
- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) ) {
433
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 ) {
435
434
var includeInheritors = inheritanceSchema == InheritanceSchema . ConcreteTable ;
436
435
GenerateClearReferenceHints (
437
436
removedType ,
@@ -440,7 +439,7 @@ private void ClearDirectAssociation(StoredTypeInfo removedType,
440
439
requiresInverseCleanup ) ;
441
440
}
442
441
else {
443
- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) && ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
442
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 && ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
444
443
return ;
445
444
var type = useRemovedType
446
445
? removedType
@@ -469,10 +468,10 @@ private void ClearIndirectAssociation(StoredTypeInfo removedType,
469
468
CleanupInfo cleanupInfo )
470
469
{
471
470
var deleteInfo = DataDeletionInfo . None ;
472
- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
471
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 )
473
472
deleteInfo |= DataDeletionInfo . TableMovement ;
474
473
475
- if ( ! deleteInfo . HasFlag ( DataDeletionInfo . TableMovement ) ) {
474
+ if ( ( deleteInfo & DataDeletionInfo . TableMovement ) == 0 ) {
476
475
GenerateClearReferenceHints (
477
476
removedType ,
478
477
new [ ] { association . ConnectorType } ,
@@ -481,7 +480,7 @@ private void ClearIndirectAssociation(StoredTypeInfo removedType,
481
480
deleteInfo ) ;
482
481
}
483
482
else {
484
- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) && ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
483
+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 && ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
485
484
return ;
486
485
var type = useRemovedType
487
486
? removedType
0 commit comments