summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/Translator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/mapping/Translator.java')
-rw-r--r--src/cuchaz/enigma/mapping/Translator.java28
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 )