diff options
| author | 2014-08-30 14:14:54 -0400 | |
|---|---|---|
| committer | 2014-08-30 14:14:54 -0400 | |
| commit | 63172120a39a315e29bc38ea6634741797b3dcab (patch) | |
| tree | 9030b8678aaca06982ae4d1032298f52ab833e09 /src/cuchaz/enigma/convert/ClassMatching.java | |
| parent | got a decent class matcher working (diff) | |
| download | enigma-fork-63172120a39a315e29bc38ea6634741797b3dcab.tar.gz enigma-fork-63172120a39a315e29bc38ea6634741797b3dcab.tar.xz enigma-fork-63172120a39a315e29bc38ea6634741797b3dcab.zip | |
finished class matching for now, need to work on class member matching
Diffstat (limited to 'src/cuchaz/enigma/convert/ClassMatching.java')
| -rw-r--r-- | src/cuchaz/enigma/convert/ClassMatching.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/convert/ClassMatching.java b/src/cuchaz/enigma/convert/ClassMatching.java index fea8438..4e9fe39 100644 --- a/src/cuchaz/enigma/convert/ClassMatching.java +++ b/src/cuchaz/enigma/convert/ClassMatching.java | |||
| @@ -10,12 +10,15 @@ | |||
| 10 | ******************************************************************************/ | 10 | ******************************************************************************/ |
| 11 | package cuchaz.enigma.convert; | 11 | package cuchaz.enigma.convert; |
| 12 | 12 | ||
| 13 | import java.util.AbstractMap; | ||
| 13 | import java.util.ArrayList; | 14 | import java.util.ArrayList; |
| 15 | import java.util.Arrays; | ||
| 14 | import java.util.Collection; | 16 | import java.util.Collection; |
| 15 | import java.util.List; | 17 | import java.util.List; |
| 16 | import java.util.Map; | 18 | import java.util.Map; |
| 17 | 19 | ||
| 18 | import com.beust.jcommander.internal.Lists; | 20 | import com.beust.jcommander.internal.Lists; |
| 21 | import com.beust.jcommander.internal.Maps; | ||
| 19 | import com.google.common.collect.ArrayListMultimap; | 22 | import com.google.common.collect.ArrayListMultimap; |
| 20 | import com.google.common.collect.BiMap; | 23 | import com.google.common.collect.BiMap; |
| 21 | import com.google.common.collect.HashBiMap; | 24 | import com.google.common.collect.HashBiMap; |
| @@ -156,6 +159,36 @@ public class ClassMatching | |||
| 156 | return new ArrayList<ClassIdentity>( m_unmatchedDestClasses ); | 159 | return new ArrayList<ClassIdentity>( m_unmatchedDestClasses ); |
| 157 | } | 160 | } |
| 158 | 161 | ||
| 162 | public Map<String,Map.Entry<ClassIdentity,List<ClassIdentity>>> getConversionMap( ) | ||
| 163 | { | ||
| 164 | Map<String,Map.Entry<ClassIdentity,List<ClassIdentity>>> conversion = Maps.newHashMap(); | ||
| 165 | for( Map.Entry<ClassIdentity,ClassIdentity> entry : getUniqueMatches().entrySet() ) | ||
| 166 | { | ||
| 167 | conversion.put( | ||
| 168 | entry.getKey().getClassEntry().getName(), | ||
| 169 | new AbstractMap.SimpleEntry<ClassIdentity,List<ClassIdentity>>( entry.getKey(), Arrays.asList( entry.getValue() ) ) | ||
| 170 | ); | ||
| 171 | } | ||
| 172 | for( Map.Entry<List<ClassIdentity>,List<ClassIdentity>> entry : getAmbiguousMatches().entrySet() ) | ||
| 173 | { | ||
| 174 | for( ClassIdentity sourceClass : entry.getKey() ) | ||
| 175 | { | ||
| 176 | conversion.put( | ||
| 177 | sourceClass.getClassEntry().getName(), | ||
| 178 | new AbstractMap.SimpleEntry<ClassIdentity,List<ClassIdentity>>( sourceClass, entry.getValue() ) | ||
| 179 | ); | ||
| 180 | } | ||
| 181 | } | ||
| 182 | for( ClassIdentity sourceClass : getUnmatchedSourceClasses() ) | ||
| 183 | { | ||
| 184 | conversion.put( | ||
| 185 | sourceClass.getClassEntry().getName(), | ||
| 186 | new AbstractMap.SimpleEntry<ClassIdentity,List<ClassIdentity>>( sourceClass, new ArrayList<ClassIdentity>() ) | ||
| 187 | ); | ||
| 188 | } | ||
| 189 | return conversion; | ||
| 190 | } | ||
| 191 | |||
| 159 | @Override | 192 | @Override |
| 160 | public String toString( ) | 193 | public String toString( ) |
| 161 | { | 194 | { |