summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/EntryRenamer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/analysis/EntryRenamer.java')
-rw-r--r--src/cuchaz/enigma/analysis/EntryRenamer.java25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/cuchaz/enigma/analysis/EntryRenamer.java b/src/cuchaz/enigma/analysis/EntryRenamer.java
index 44e0220..2d59fe9 100644
--- a/src/cuchaz/enigma/analysis/EntryRenamer.java
+++ b/src/cuchaz/enigma/analysis/EntryRenamer.java
@@ -11,7 +11,6 @@
11package cuchaz.enigma.analysis; 11package cuchaz.enigma.analysis;
12 12
13import java.util.AbstractMap; 13import java.util.AbstractMap;
14import java.util.Iterator;
15import java.util.List; 14import java.util.List;
16import java.util.Map; 15import java.util.Map;
17import java.util.Set; 16import java.util.Set;
@@ -80,16 +79,32 @@ public class EntryRenamer
80 { 79 {
81 // for each key/value pair... 80 // for each key/value pair...
82 Set<Map.Entry<Key,Val>> entriesToAdd = Sets.newHashSet(); 81 Set<Map.Entry<Key,Val>> entriesToAdd = Sets.newHashSet();
83 Iterator<Map.Entry<Key,Val>> iter = map.entries().iterator(); 82 for( Map.Entry<Key,Val> entry : map.entries() )
84 while( iter.hasNext() )
85 { 83 {
86 Map.Entry<Key,Val> entry = iter.next();
87 iter.remove();
88 entriesToAdd.add( new AbstractMap.SimpleEntry<Key,Val>( 84 entriesToAdd.add( new AbstractMap.SimpleEntry<Key,Val>(
89 renameMethodsInThing( renames, entry.getKey() ), 85 renameMethodsInThing( renames, entry.getKey() ),
90 renameMethodsInThing( renames, entry.getValue() ) 86 renameMethodsInThing( renames, entry.getValue() )
91 ) ); 87 ) );
92 } 88 }
89 map.clear();
90 for( Map.Entry<Key,Val> entry : entriesToAdd )
91 {
92 map.put( entry.getKey(), entry.getValue() );
93 }
94 }
95
96 public static <Key,Val> void renameMethodsInMap( Map<MethodEntry,MethodEntry> renames, Map<Key,Val> map )
97 {
98 // for each key/value pair...
99 Set<Map.Entry<Key,Val>> entriesToAdd = Sets.newHashSet();
100 for( Map.Entry<Key,Val> entry : map.entrySet() )
101 {
102 entriesToAdd.add( new AbstractMap.SimpleEntry<Key,Val>(
103 renameMethodsInThing( renames, entry.getKey() ),
104 renameMethodsInThing( renames, entry.getValue() )
105 ) );
106 }
107 map.clear();
93 for( Map.Entry<Key,Val> entry : entriesToAdd ) 108 for( Map.Entry<Key,Val> entry : entriesToAdd )
94 { 109 {
95 map.put( entry.getKey(), entry.getValue() ); 110 map.put( entry.getKey(), entry.getValue() );