summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/ArgumentEntry.java
diff options
context:
space:
mode:
authorGravatar jeff2014-09-24 01:00:54 -0400
committerGravatar jeff2014-09-24 01:00:54 -0400
commit8776a8ba38123c822530e5f659c626c8db616217 (patch)
tree8138a4e4447552e598bb99cfd8fb23a5f27f840b /src/cuchaz/enigma/mapping/ArgumentEntry.java
parenttrying to figure out why some mappings to correspond to anything in the jar f... (diff)
downloadenigma-fork-8776a8ba38123c822530e5f659c626c8db616217.tar.gz
enigma-fork-8776a8ba38123c822530e5f659c626c8db616217.tar.xz
enigma-fork-8776a8ba38123c822530e5f659c626c8db616217.zip
HOW DO I WRITE SO MANY BUGS?!?
Diffstat (limited to 'src/cuchaz/enigma/mapping/ArgumentEntry.java')
-rw-r--r--src/cuchaz/enigma/mapping/ArgumentEntry.java43
1 files changed, 28 insertions, 15 deletions
diff --git a/src/cuchaz/enigma/mapping/ArgumentEntry.java b/src/cuchaz/enigma/mapping/ArgumentEntry.java
index 27dcc41..7ed3d32 100644
--- a/src/cuchaz/enigma/mapping/ArgumentEntry.java
+++ b/src/cuchaz/enigma/mapping/ArgumentEntry.java
@@ -18,15 +18,15 @@ public class ArgumentEntry implements Entry, Serializable
18{ 18{
19 private static final long serialVersionUID = 4472172468162696006L; 19 private static final long serialVersionUID = 4472172468162696006L;
20 20
21 private MethodEntry m_methodEntry; 21 private BehaviorEntry m_behaviorEntry;
22 private int m_index; 22 private int m_index;
23 private String m_name; 23 private String m_name;
24 24
25 public ArgumentEntry( MethodEntry methodEntry, int index, String name ) 25 public ArgumentEntry( BehaviorEntry behaviorEntry, int index, String name )
26 { 26 {
27 if( methodEntry == null ) 27 if( behaviorEntry == null )
28 { 28 {
29 throw new IllegalArgumentException( "Method cannot be null!" ); 29 throw new IllegalArgumentException( "Behavior cannot be null!" );
30 } 30 }
31 if( index < 0 ) 31 if( index < 0 )
32 { 32 {
@@ -37,21 +37,28 @@ public class ArgumentEntry implements Entry, Serializable
37 throw new IllegalArgumentException( "Argument name cannot be null!" ); 37 throw new IllegalArgumentException( "Argument name cannot be null!" );
38 } 38 }
39 39
40 m_methodEntry = methodEntry; 40 m_behaviorEntry = behaviorEntry;
41 m_index = index; 41 m_index = index;
42 m_name = name; 42 m_name = name;
43 } 43 }
44 44
45 public ArgumentEntry( ArgumentEntry other ) 45 public ArgumentEntry( ArgumentEntry other )
46 { 46 {
47 m_methodEntry = new MethodEntry( other.m_methodEntry ); 47 m_behaviorEntry = (BehaviorEntry)m_behaviorEntry.cloneToNewClass( getClassEntry() );
48 m_index = other.m_index; 48 m_index = other.m_index;
49 m_name = other.m_name; 49 m_name = other.m_name;
50 } 50 }
51 51
52 public MethodEntry getMethodEntry( ) 52 public ArgumentEntry( ArgumentEntry other, String newClassName )
53 { 53 {
54 return m_methodEntry; 54 m_behaviorEntry = (BehaviorEntry)other.m_behaviorEntry.cloneToNewClass( new ClassEntry( newClassName ) );
55 m_index = other.m_index;
56 m_name = other.m_name;
57 }
58
59 public BehaviorEntry getBehaviorEntry( )
60 {
61 return m_behaviorEntry;
55 } 62 }
56 63
57 public int getIndex( ) 64 public int getIndex( )
@@ -68,29 +75,35 @@ public class ArgumentEntry implements Entry, Serializable
68 @Override 75 @Override
69 public ClassEntry getClassEntry( ) 76 public ClassEntry getClassEntry( )
70 { 77 {
71 return m_methodEntry.getClassEntry(); 78 return m_behaviorEntry.getClassEntry();
72 } 79 }
73 80
74 @Override 81 @Override
75 public String getClassName( ) 82 public String getClassName( )
76 { 83 {
77 return m_methodEntry.getClassName(); 84 return m_behaviorEntry.getClassName();
85 }
86
87 @Override
88 public ArgumentEntry cloneToNewClass( ClassEntry classEntry )
89 {
90 return new ArgumentEntry( this, classEntry.getName() );
78 } 91 }
79 92
80 public String getMethodName( ) 93 public String getMethodName( )
81 { 94 {
82 return m_methodEntry.getName(); 95 return m_behaviorEntry.getName();
83 } 96 }
84 97
85 public String getMethodSignature( ) 98 public String getMethodSignature( )
86 { 99 {
87 return m_methodEntry.getSignature(); 100 return m_behaviorEntry.getSignature();
88 } 101 }
89 102
90 @Override 103 @Override
91 public int hashCode( ) 104 public int hashCode( )
92 { 105 {
93 return Util.combineHashesOrdered( m_methodEntry, Integer.valueOf( m_index ).hashCode(), m_name.hashCode() ); 106 return Util.combineHashesOrdered( m_behaviorEntry, Integer.valueOf( m_index ).hashCode(), m_name.hashCode() );
94 } 107 }
95 108
96 @Override 109 @Override
@@ -105,7 +118,7 @@ public class ArgumentEntry implements Entry, Serializable
105 118
106 public boolean equals( ArgumentEntry other ) 119 public boolean equals( ArgumentEntry other )
107 { 120 {
108 return m_methodEntry.equals( other.m_methodEntry ) 121 return m_behaviorEntry.equals( other.m_behaviorEntry )
109 && m_index == other.m_index 122 && m_index == other.m_index
110 && m_name.equals( other.m_name ); 123 && m_name.equals( other.m_name );
111 } 124 }
@@ -113,6 +126,6 @@ public class ArgumentEntry implements Entry, Serializable
113 @Override 126 @Override
114 public String toString( ) 127 public String toString( )
115 { 128 {
116 return m_methodEntry.toString() + "(" + m_index + ":" + m_name + ")"; 129 return m_behaviorEntry.toString() + "(" + m_index + ":" + m_name + ")";
117 } 130 }
118} 131}