@@ -28,38 +28,52 @@ public string RenameUnsafely()
2828 var randomStringThree = strings [ _randomNext ( 0 , strings . Length - 1 ) ] ;
2929 return $ "{ randomStringTwo } { randomStringOne } .{ randomStringThree } ";
3030 }
31+
32+ private bool ShouldRenameType ( TypeDefinition ? typeDefinition )
33+ {
34+ return typeDefinition == null || ( _nameCriticalAnalyzer . NotCriticalToMakeChanges ( typeDefinition ) && ! typeDefinition . IsExplicitLayout ) ;
35+ }
36+
3137 public void Rename ( IMetadataMember member )
3238 {
3339 if ( member is TypeDefinition type )
3440 {
35- if ( _nameCriticalAnalyzer . NotCriticalToMakeChanges ( type ) )
41+ if ( ShouldRenameType ( type ) && ShouldRenameType ( type . DeclaringType ) )
3642 {
3743 type . Name = RenameUnsafely ( ) ;
3844 }
3945 }
4046 if ( member is MethodDefinition method )
4147 {
42- if ( _nameCriticalAnalyzer . NotCriticalToMakeChanges ( method ) )
48+ if ( _nameCriticalAnalyzer . NotCriticalToMakeChanges ( method ) && ShouldRenameType ( method . DeclaringType ) )
4349 {
4450 method . Name = RenameUnsafely ( ) ;
4551 }
4652 }
4753 if ( member is FieldDefinition field )
54+ {
55+ if ( ! field . IsCompilerGenerated ( ) && ShouldRenameType ( field . DeclaringType ) )
4856 {
4957 field . Name = RenameUnsafely ( ) ;
58+ }
5059 }
5160 if ( member is ParameterDefinition parameter )
61+ {
62+ if ( ! parameter . IsCompilerGenerated ( ) )
5263 {
5364 parameter . Name = RenameUnsafely ( ) ;
65+ }
5466 }
5567 }
68+
5669 public void Rename ( params IMetadataMember [ ] members )
5770 {
5871 for ( var i = 0 ; i < members . Length ; i ++ )
5972 {
6073 Rename ( members [ i ] ) ;
6174 }
6275 }
76+
6377 public void RemoveNamespace ( IMetadataMember member )
6478 {
6579 if ( member is TypeDefinition type )
@@ -87,8 +101,9 @@ public void RemoveNamespace(IMetadataMember member)
87101 }
88102 }
89103 }
104+
90105 public void RemoveNamespace ( params IMetadataMember [ ] members )
91106 {
92107 members . ForEach ( RemoveNamespace ) ;
93108 }
94- }
109+ }
0 commit comments