diff options
Diffstat (limited to 'src/cuchaz/enigma/mapping/Translator.java')
| -rw-r--r-- | src/cuchaz/enigma/mapping/Translator.java | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/cuchaz/enigma/mapping/Translator.java b/src/cuchaz/enigma/mapping/Translator.java index e34c31b..a671c27 100644 --- a/src/cuchaz/enigma/mapping/Translator.java +++ b/src/cuchaz/enigma/mapping/Translator.java | |||
| @@ -30,27 +30,28 @@ public class Translator | |||
| 30 | m_ancestries = ancestries; | 30 | m_ancestries = ancestries; |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | public Entry translateEntry( Entry entry ) | 33 | @SuppressWarnings( "unchecked" ) |
| 34 | public <T extends Entry> T translateEntry( T entry ) | ||
| 34 | { | 35 | { |
| 35 | if( entry instanceof ClassEntry ) | 36 | if( entry instanceof ClassEntry ) |
| 36 | { | 37 | { |
| 37 | return translateEntry( (ClassEntry)entry ); | 38 | return (T)translateEntry( (ClassEntry)entry ); |
| 38 | } | 39 | } |
| 39 | else if( entry instanceof FieldEntry ) | 40 | else if( entry instanceof FieldEntry ) |
| 40 | { | 41 | { |
| 41 | return translateEntry( (FieldEntry)entry ); | 42 | return (T)translateEntry( (FieldEntry)entry ); |
| 42 | } | 43 | } |
| 43 | else if( entry instanceof MethodEntry ) | 44 | else if( entry instanceof MethodEntry ) |
| 44 | { | 45 | { |
| 45 | return translateEntry( (MethodEntry)entry ); | 46 | return (T)translateEntry( (MethodEntry)entry ); |
| 46 | } | 47 | } |
| 47 | else if( entry instanceof ConstructorEntry ) | 48 | else if( entry instanceof ConstructorEntry ) |
| 48 | { | 49 | { |
| 49 | return translateEntry( (ConstructorEntry)entry ); | 50 | return (T)translateEntry( (ConstructorEntry)entry ); |
| 50 | } | 51 | } |
| 51 | else if( entry instanceof ArgumentEntry ) | 52 | else if( entry instanceof ArgumentEntry ) |
| 52 | { | 53 | { |
| 53 | return translateEntry( (ArgumentEntry)entry ); | 54 | return (T)translateEntry( (ArgumentEntry)entry ); |
| 54 | } | 55 | } |
| 55 | else | 56 | else |
| 56 | { | 57 | { |
| @@ -194,10 +195,17 @@ public class Translator | |||
| 194 | 195 | ||
| 195 | public ConstructorEntry translateEntry( ConstructorEntry in ) | 196 | public ConstructorEntry translateEntry( ConstructorEntry in ) |
| 196 | { | 197 | { |
| 197 | return new ConstructorEntry( | 198 | if( in.isStatic() ) |
| 198 | translateEntry( in.getClassEntry() ), | 199 | { |
| 199 | translateSignature( in.getSignature() ) | 200 | return new ConstructorEntry( translateEntry( in.getClassEntry() ) ); |
| 200 | ); | 201 | } |
| 202 | else | ||
| 203 | { | ||
| 204 | return new ConstructorEntry( | ||
| 205 | translateEntry( in.getClassEntry() ), | ||
| 206 | translateSignature( in.getSignature() ) | ||
| 207 | ); | ||
| 208 | } | ||
| 201 | } | 209 | } |
| 202 | 210 | ||
| 203 | public BehaviorEntry translateEntry( BehaviorEntry in ) | 211 | public BehaviorEntry translateEntry( BehaviorEntry in ) |