summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/ArgumentEntry.java
diff options
context:
space:
mode:
authorGravatar jeff2014-07-26 19:24:00 -0400
committerGravatar jeff2014-07-26 19:24:00 -0400
commit295eceece371b516e771de93b6127bf728999483 (patch)
tree20ff6a35de79997fc338d922cae934b8872b11a9 /src/cuchaz/enigma/mapping/ArgumentEntry.java
downloadenigma-fork-295eceece371b516e771de93b6127bf728999483.tar.gz
enigma-fork-295eceece371b516e771de93b6127bf728999483.tar.xz
enigma-fork-295eceece371b516e771de93b6127bf728999483.zip
initial commit
so far source analysis is working. =)
Diffstat (limited to 'src/cuchaz/enigma/mapping/ArgumentEntry.java')
-rw-r--r--src/cuchaz/enigma/mapping/ArgumentEntry.java88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/mapping/ArgumentEntry.java b/src/cuchaz/enigma/mapping/ArgumentEntry.java
new file mode 100644
index 0000000..6c108d7
--- /dev/null
+++ b/src/cuchaz/enigma/mapping/ArgumentEntry.java
@@ -0,0 +1,88 @@
1/*******************************************************************************
2 * Copyright (c) 2014 Jeff Martin.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the GNU Public License v3.0
5 * which accompanies this distribution, and is available at
6 * http://www.gnu.org/licenses/gpl.html
7 *
8 * Contributors:
9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/
11package cuchaz.enigma.mapping;
12
13import java.io.Serializable;
14
15import cuchaz.enigma.Util;
16
17public class ArgumentEntry implements Serializable
18{
19 private static final long serialVersionUID = 4472172468162696006L;
20
21 private MethodEntry m_methodEntry;
22 private int m_index;
23 private String m_name;
24
25 public ArgumentEntry( MethodEntry methodEntry, int index, String name )
26 {
27 if( methodEntry == null )
28 {
29 throw new IllegalArgumentException( "Method cannot be null!" );
30 }
31 if( index < 0 )
32 {
33 throw new IllegalArgumentException( "Index must be non-negative!" );
34 }
35 if( name == null )
36 {
37 throw new IllegalArgumentException( "Argument name cannot be null!" );
38 }
39
40 m_methodEntry = methodEntry;
41 m_index = index;
42 m_name = name;
43 }
44
45 public MethodEntry getMethodEntry( )
46 {
47 return m_methodEntry;
48 }
49
50 public int getIndex( )
51 {
52 return m_index;
53 }
54
55 public String getName( )
56 {
57 return m_name;
58 }
59
60 @Override
61 public int hashCode( )
62 {
63 return Util.combineHashesOrdered( m_methodEntry, Integer.valueOf( m_index ).hashCode(), m_name.hashCode() );
64 }
65
66 @Override
67 public boolean equals( Object other )
68 {
69 if( other instanceof ArgumentEntry )
70 {
71 return equals( (ArgumentEntry)other );
72 }
73 return false;
74 }
75
76 public boolean equals( ArgumentEntry other )
77 {
78 return m_methodEntry.equals( other.m_methodEntry )
79 && m_index == other.m_index
80 && m_name.equals( other.m_name );
81 }
82
83 @Override
84 public String toString( )
85 {
86 return m_methodEntry.toString() + "(" + m_index + ":" + m_name + ")";
87 }
88}