@@ -28,8 +28,7 @@ private enum CleanupInfo : byte
2828 None = 0 ,
2929 TypeMovedToAnotherHierarchy = 1 ,
3030 ConflictByTable = 2 ,
31- RootOfConflict = 4 ,
32- All = TypeMovedToAnotherHierarchy | ConflictByTable | RootOfConflict
31+ RootOfConflict = 4
3332 }
3433
3534 private readonly NameBuilder nameBuilder ;
@@ -256,9 +255,9 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
256255 }
257256
258257 var deleteInfo = DataDeletionInfo . None ;
259- if ( cleanupInfo . HasFlag ( CleanupInfo . TypeMovedToAnotherHierarchy ) )
258+ if ( ( cleanupInfo & CleanupInfo . TypeMovedToAnotherHierarchy ) != 0 )
260259 deleteInfo |= DataDeletionInfo . PostCopy ;
261- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
260+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 )
262261 deleteInfo |= DataDeletionInfo . TableMovement ;
263262
264263 foreach ( var info in typesToProcess ) {
@@ -274,13 +273,13 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
274273 private IEnumerable < ( StoredTypeInfo , IdentityPair ) > GetTypesToCleanForClassTable (
275274 StoredTypeInfo removedType , CleanupInfo cleanupInfo )
276275 {
277- if ( ! cleanupInfo . HasFlag ( CleanupInfo . TypeMovedToAnotherHierarchy ) ) {
278- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) ) {
276+ if ( ( cleanupInfo & CleanupInfo . TypeMovedToAnotherHierarchy ) == 0 ) {
277+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 ) {
279278 return removedType . AllAncestors . Append ( removedType )
280279 . Select ( t => ( t , CreateIdentityPair ( removedType , t ) ) ) ;
281280 }
282281 else {
283- if ( ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
282+ if ( ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
284283 return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
285284
286285 var capacity = ( 2 * removedType . AllAncestors . Length ) + removedType . AllDescendants . Length + 1 ;
@@ -301,7 +300,7 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
301300 }
302301 }
303302 else {
304- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) ) {
303+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 ) {
305304 return removedType . AllAncestors
306305 . Select ( aType => ( aType , CreateIdentityPair ( removedType , aType ) ) ) ;
307306 }
@@ -313,16 +312,16 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
313312 StoredTypeInfo removedType , CleanupInfo cleanupInfo )
314313 {
315314 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 )
318317 return new ( StoredTypeInfo , IdentityPair ) [ ] { ( rootType , CreateIdentityPair ( removedType , rootType ) ) } ;
319318 else {
320319 return removedType . AllDescendants . Append ( rootType )
321320 . Select ( t => ( rootType , CreateIdentityPair ( t , rootType ) ) ) ;
322321 }
323322 }
324323 else {
325- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
324+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 )
326325 return new ( StoredTypeInfo , IdentityPair ) [ ] { ( rootType , CreateIdentityPair ( removedType , rootType ) ) } ;
327326 }
328327 return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
@@ -331,18 +330,18 @@ private void GenerateCleanupByPrimaryKeyHints(StoredTypeInfo removedType, Cleanu
331330 private IEnumerable < ( StoredTypeInfo , IdentityPair ) > GetTypesToCleanForConcreteTable (
332331 StoredTypeInfo removedType , CleanupInfo cleanupInfo )
333332 {
334- if ( ! cleanupInfo . HasFlag ( CleanupInfo . TypeMovedToAnotherHierarchy ) ) {
335- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
333+ if ( ( cleanupInfo & CleanupInfo . TypeMovedToAnotherHierarchy ) == 0 ) {
334+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 )
336335 return new ( StoredTypeInfo , IdentityPair ) [ ] { ( removedType , null ) } ;
337336 else {
338- if ( ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
337+ if ( ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
339338 return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
340339 return removedType . AllDescendants . Append ( removedType )
341340 . Select ( t => ( t , ( IdentityPair ) null ) ) ;
342341 }
343342 }
344343 else {
345- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
344+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 )
346345 return new ( StoredTypeInfo , IdentityPair ) [ ] { ( removedType , null ) } ;
347346 }
348347 return Array . Empty < ( StoredTypeInfo , IdentityPair ) > ( ) ;
@@ -354,7 +353,7 @@ private void GenerateCleanupByForeignKeyHints(StoredTypeInfo removedType, Cleanu
354353 removedType . AllAncestors . Append ( removedType ) . ForEach ( t => removedTypeAndAncestors . Add ( t ) ) ;
355354
356355
357- var descendantsToHash = cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable )
356+ var descendantsToHash = ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0
358357 ? removedType . AllDescendants
359358 : Array . Empty < StoredTypeInfo > ( ) ;
360359 var descendants = new HashSet < StoredTypeInfo > ( descendantsToHash . Length ) ;
@@ -431,7 +430,7 @@ private void ClearDirectAssociation(StoredTypeInfo removedType,
431430 CleanupInfo cleanupInfo )
432431 {
433432 var inheritanceSchema = declaringType . Hierarchy . InheritanceSchema ;
434- if ( ! cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) ) {
433+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) == 0 ) {
435434 var includeInheritors = inheritanceSchema == InheritanceSchema . ConcreteTable ;
436435 GenerateClearReferenceHints (
437436 removedType ,
@@ -440,7 +439,7 @@ private void ClearDirectAssociation(StoredTypeInfo removedType,
440439 requiresInverseCleanup ) ;
441440 }
442441 else {
443- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) && ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
442+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 && ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
444443 return ;
445444 var type = useRemovedType
446445 ? removedType
@@ -469,10 +468,10 @@ private void ClearIndirectAssociation(StoredTypeInfo removedType,
469468 CleanupInfo cleanupInfo )
470469 {
471470 var deleteInfo = DataDeletionInfo . None ;
472- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) )
471+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 )
473472 deleteInfo |= DataDeletionInfo . TableMovement ;
474473
475- if ( ! deleteInfo . HasFlag ( DataDeletionInfo . TableMovement ) ) {
474+ if ( ( deleteInfo & DataDeletionInfo . TableMovement ) == 0 ) {
476475 GenerateClearReferenceHints (
477476 removedType ,
478477 new [ ] { association . ConnectorType } ,
@@ -481,7 +480,7 @@ private void ClearIndirectAssociation(StoredTypeInfo removedType,
481480 deleteInfo ) ;
482481 }
483482 else {
484- if ( cleanupInfo . HasFlag ( CleanupInfo . ConflictByTable ) && ! cleanupInfo . HasFlag ( CleanupInfo . RootOfConflict ) )
483+ if ( ( cleanupInfo & CleanupInfo . ConflictByTable ) != 0 && ( cleanupInfo & CleanupInfo . RootOfConflict ) == 0 )
485484 return ;
486485 var type = useRemovedType
487486 ? removedType
0 commit comments