@@ -252,6 +252,8 @@ private void LoadFromReader(XDocument reader, string projectFileDirectory)
252252 NameMaker . Instance . UseUnicodeChars = true ;
253253 if ( Project . Settings . UseKoreanNames )
254254 NameMaker . Instance . UseKoreanChars = true ;
255+ if ( Project . Settings . UseDebugVersionNames )
256+ NameMaker . Instance . UseDebugVersionNames = true ;
255257
256258 LogOutput ( "Loading assemblies..." ) ;
257259 LogOutput ( "Extra framework folders: " ) ;
@@ -521,8 +523,8 @@ private void ProcessField(FieldDefinition field, TypeKey typeKey, Dictionary<str
521523 }
522524
523525 var newName = Project . Settings . ReuseNames
524- ? nameGroup . GetNext ( )
525- : NameMaker . Instance . UniqueName ( _uniqueMemberNameIndex ++ ) ;
526+ ? nameGroup . GetNext ( field . Name )
527+ : NameMaker . Instance . UniqueName ( _uniqueMemberNameIndex ++ , null , field . Name ) ;
526528
527529 RenameField ( info , fieldKey , field , newName ) ;
528530 nameGroup . Add ( newName ) ;
@@ -582,7 +584,7 @@ public void RenameParams()
582584
583585 int index = 0 ;
584586 foreach ( GenericParameter param in type . GenericParameters )
585- param . Name = NameMaker . Instance . UniqueName ( index ++ ) ;
587+ param . Name = NameMaker . Instance . UniqueName ( index ++ , null , param . Name ) ;
586588 }
587589 }
588590 }
@@ -601,7 +603,7 @@ private void RenameParams(MethodDefinition method, AssemblyInfo info)
601603 int index = 0 ;
602604 foreach ( GenericParameter param in method . GenericParameters )
603605 if ( param . CustomAttributes . Count == 0 )
604- param . Name = NameMaker . Instance . UniqueName ( index ++ ) ;
606+ param . Name = NameMaker . Instance . UniqueName ( index ++ , null , param . Name ) ;
605607 }
606608
607609 /// <summary>
@@ -689,19 +691,19 @@ public void RenameTypes(HashSet<string> namesInXaml)
689691 if ( type . IsNested )
690692 {
691693 ns = "" ;
692- name = NameMaker . Instance . UniqueNestedTypeName ( type . DeclaringType . NestedTypes . IndexOf ( type ) ) ;
694+ name = NameMaker . Instance . UniqueNestedTypeName ( type . DeclaringType . NestedTypes . IndexOf ( type ) , type . Name ) ;
693695 }
694696 else
695697 {
696698 if ( Project . Settings . ReuseNames )
697699 {
698- name = NameMaker . Instance . UniqueTypeName ( typeIndex ) ;
699- ns = NameMaker . Instance . UniqueNamespace ( typeIndex ) ;
700+ name = NameMaker . Instance . UniqueTypeName ( typeIndex , type . Name ) ;
701+ ns = NameMaker . Instance . UniqueNamespace ( typeIndex , type . Name ) ;
700702 }
701703 else
702704 {
703- name = NameMaker . Instance . UniqueName ( _uniqueTypeNameIndex ) ;
704- ns = NameMaker . Instance . UniqueNamespace ( _uniqueTypeNameIndex ) ;
705+ name = NameMaker . Instance . UniqueName ( _uniqueTypeNameIndex , null , type . Name ) ;
706+ ns = NameMaker . Instance . UniqueNamespace ( _uniqueTypeNameIndex , type . Name ) ;
705707 _uniqueTypeNameIndex ++ ;
706708 }
707709 }
@@ -1002,7 +1004,8 @@ private int ProcessProperty(TypeKey typeKey, PropertyDefinition prop, AssemblyIn
10021004 else if ( prop . CustomAttributes . Count > 0 )
10031005 {
10041006 // If a property has custom attributes we don't remove the property but rename it instead.
1005- var newName = NameMaker . Instance . UniqueName ( Project . Settings . ReuseNames ? index ++ : _uniqueMemberNameIndex ++ ) ;
1007+ var newName = NameMaker . Instance . UniqueName ( Project . Settings . ReuseNames ? index ++ : _uniqueMemberNameIndex ++ ,
1008+ null , prop . Name ) ;
10061009 RenameProperty ( info , propKey , prop , newName ) ;
10071010 }
10081011 else
@@ -1301,7 +1304,7 @@ private void RenameVirtualMethod(Dictionary<TypeKey, Dictionary<ParamSig, NameGr
13011304 NameGroup [ ] nameGroups = GetNameGroups ( baseSigNames , @group . Methods , sig ) ;
13021305
13031306 // for an internal group, get next unused name
1304- groupName = NameGroup . GetNext ( nameGroups ) ;
1307+ groupName = NameGroup . GetNext ( nameGroups , method . Name ) ;
13051308 @group . Name = groupName ;
13061309
13071310 // set up methods to be renamed
@@ -1415,7 +1418,7 @@ private string GetNewName(Dictionary<ParamSig, NameGroup> sigNames, MethodDefini
14151418
14161419 NameGroup nameGroup = GetNameGroup ( sigNames , sig ) ;
14171420
1418- string newName = nameGroup . GetNext ( ) ;
1421+ string newName = nameGroup . GetNext ( method . Name ) ;
14191422
14201423 // make sure the name groups is updated
14211424 nameGroup . Add ( newName ) ;
@@ -1821,7 +1824,7 @@ public void ProcessStrings(MethodDefinition method,
18211824 MethodDefinition individualStringMethodDefinition ;
18221825 if ( ! _methodByString . TryGetValue ( str , out individualStringMethodDefinition ) )
18231826 {
1824- string methodName = NameMaker . Instance . UniqueName ( _nameIndex ++ ) ;
1827+ string methodName = NameMaker . Instance . UniqueName ( _nameIndex ++ , null , "StringReplacedWithCall" ) ;
18251828
18261829 // Add the string to the data array
18271830 byte [ ] stringBytes = Encoding . UTF8 . GetBytes ( str ) ;
0 commit comments