summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/translation/representation
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/translation/representation')
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/ClassDefEntry.java5
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java12
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/Entry.java2
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java5
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/FieldEntry.java5
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableDefEntry.java5
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableEntry.java5
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java5
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/MethodEntry.java5
-rw-r--r--src/main/java/cuchaz/enigma/translation/representation/entry/ParentedEntry.java3
10 files changed, 51 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/ClassDefEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/ClassDefEntry.java
index b9391b0..c4df891 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/ClassDefEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/ClassDefEntry.java
@@ -86,6 +86,11 @@ public class ClassDefEntry extends ClassEntry implements DefEntry<ClassEntry> {
86 } 86 }
87 87
88 @Override 88 @Override
89 public ClassDefEntry withName(String name) {
90 return new ClassDefEntry(parent, name, signature, access, superClass, interfaces);
91 }
92
93 @Override
89 public ClassDefEntry withParent(ClassEntry parent) { 94 public ClassDefEntry withParent(ClassEntry parent) {
90 return new ClassDefEntry(parent, name, signature, access, superClass, interfaces); 95 return new ClassDefEntry(parent, name, signature, access, superClass, interfaces);
91 } 96 }
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java
index 644658f..9bfcd8a 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java
@@ -96,6 +96,11 @@ public class ClassEntry extends ParentedEntry<ClassEntry> implements Comparable<
96 } 96 }
97 97
98 @Override 98 @Override
99 public ClassEntry withName(String name) {
100 return new ClassEntry(parent, name);
101 }
102
103 @Override
99 public ClassEntry withParent(ClassEntry parent) { 104 public ClassEntry withParent(ClassEntry parent) {
100 return new ClassEntry(parent, name); 105 return new ClassEntry(parent, name);
101 } 106 }
@@ -193,6 +198,11 @@ public class ClassEntry extends ParentedEntry<ClassEntry> implements Comparable<
193 198
194 @Override 199 @Override
195 public int compareTo(ClassEntry entry) { 200 public int compareTo(ClassEntry entry) {
196 return name.compareTo(entry.name); 201 String fullName = getFullName();
202 String otherFullName = entry.getFullName();
203 if (fullName.length() != otherFullName.length()) {
204 return fullName.length() - otherFullName.length();
205 }
206 return fullName.compareTo(otherFullName);
197 } 207 }
198} 208}
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/Entry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/Entry.java
index 227400e..29a55d8 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/Entry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/Entry.java
@@ -31,6 +31,8 @@ public interface Entry<P extends Entry<?>> extends Translatable {
31 31
32 Class<P> getParentType(); 32 Class<P> getParentType();
33 33
34 Entry<P> withName(String name);
35
34 Entry<P> withParent(P parent); 36 Entry<P> withParent(P parent);
35 37
36 boolean canConflictWith(Entry<?> entry); 38 boolean canConflictWith(Entry<?> entry);
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java
index d487f71..2703301 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/FieldDefEntry.java
@@ -55,6 +55,11 @@ public class FieldDefEntry extends FieldEntry implements DefEntry<ClassEntry> {
55 } 55 }
56 56
57 @Override 57 @Override
58 public FieldDefEntry withName(String name) {
59 return new FieldDefEntry(parent, name, desc, signature, access);
60 }
61
62 @Override
58 public FieldDefEntry withParent(ClassEntry owner) { 63 public FieldDefEntry withParent(ClassEntry owner) {
59 return new FieldDefEntry(owner, this.name, this.desc, signature, access); 64 return new FieldDefEntry(owner, this.name, this.desc, signature, access);
60 } 65 }
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/FieldEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/FieldEntry.java
index 2ec2471..700512e 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/FieldEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/FieldEntry.java
@@ -45,6 +45,11 @@ public class FieldEntry extends ParentedEntry<ClassEntry> implements Comparable<
45 } 45 }
46 46
47 @Override 47 @Override
48 public FieldEntry withName(String name) {
49 return new FieldEntry(parent, name, desc);
50 }
51
52 @Override
48 public FieldEntry withParent(ClassEntry parent) { 53 public FieldEntry withParent(ClassEntry parent) {
49 return new FieldEntry(parent, this.name, this.desc); 54 return new FieldEntry(parent, this.name, this.desc);
50 } 55 }
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableDefEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableDefEntry.java
index 86bdf61..c6f32b6 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableDefEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableDefEntry.java
@@ -34,6 +34,11 @@ public class LocalVariableDefEntry extends LocalVariableEntry {
34 } 34 }
35 35
36 @Override 36 @Override
37 public LocalVariableDefEntry withName(String name) {
38 return new LocalVariableDefEntry(parent, index, name, parameter, desc);
39 }
40
41 @Override
37 public LocalVariableDefEntry withParent(MethodEntry entry) { 42 public LocalVariableDefEntry withParent(MethodEntry entry) {
38 return new LocalVariableDefEntry(entry, index, name, parameter, desc); 43 return new LocalVariableDefEntry(entry, index, name, parameter, desc);
39 } 44 }
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableEntry.java
index 0c12f1c..6fdb79f 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/LocalVariableEntry.java
@@ -52,6 +52,11 @@ public class LocalVariableEntry extends ParentedEntry<MethodEntry> implements Co
52 } 52 }
53 53
54 @Override 54 @Override
55 public LocalVariableEntry withName(String name) {
56 return new LocalVariableEntry(parent, index, name, parameter);
57 }
58
59 @Override
55 public LocalVariableEntry withParent(MethodEntry parent) { 60 public LocalVariableEntry withParent(MethodEntry parent) {
56 return new LocalVariableEntry(parent, index, name, parameter); 61 return new LocalVariableEntry(parent, index, name, parameter);
57 } 62 }
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java
index 3ecd470..5184244 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/MethodDefEntry.java
@@ -55,6 +55,11 @@ public class MethodDefEntry extends MethodEntry implements DefEntry<ClassEntry>
55 } 55 }
56 56
57 @Override 57 @Override
58 public MethodDefEntry withName(String name) {
59 return new MethodDefEntry(parent, name, descriptor, signature, access);
60 }
61
62 @Override
58 public MethodDefEntry withParent(ClassEntry parent) { 63 public MethodDefEntry withParent(ClassEntry parent) {
59 return new MethodDefEntry(new ClassEntry(parent.getFullName()), name, descriptor, signature, access); 64 return new MethodDefEntry(new ClassEntry(parent.getFullName()), name, descriptor, signature, access);
60 } 65 }
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/MethodEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/MethodEntry.java
index 3a1dbb3..f5d5c74 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/MethodEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/MethodEntry.java
@@ -56,6 +56,11 @@ public class MethodEntry extends ParentedEntry<ClassEntry> implements Comparable
56 } 56 }
57 57
58 @Override 58 @Override
59 public MethodEntry withName(String name) {
60 return new MethodEntry(parent, name, descriptor);
61 }
62
63 @Override
59 public MethodEntry withParent(ClassEntry parent) { 64 public MethodEntry withParent(ClassEntry parent) {
60 return new MethodEntry(new ClassEntry(parent.getFullName()), name, descriptor); 65 return new MethodEntry(new ClassEntry(parent.getFullName()), name, descriptor);
61 } 66 }
diff --git a/src/main/java/cuchaz/enigma/translation/representation/entry/ParentedEntry.java b/src/main/java/cuchaz/enigma/translation/representation/entry/ParentedEntry.java
index 7ba7c19..834da8d 100644
--- a/src/main/java/cuchaz/enigma/translation/representation/entry/ParentedEntry.java
+++ b/src/main/java/cuchaz/enigma/translation/representation/entry/ParentedEntry.java
@@ -35,6 +35,9 @@ public abstract class ParentedEntry<P extends Entry<?>> implements Entry<P> {
35 @Override 35 @Override
36 public abstract ParentedEntry<P> withParent(P parent); 36 public abstract ParentedEntry<P> withParent(P parent);
37 37
38 @Override
39 public abstract ParentedEntry<P> withName(String name);
40
38 protected abstract ParentedEntry<P> translate(Translator translator, @Nullable EntryMapping mapping); 41 protected abstract ParentedEntry<P> translate(Translator translator, @Nullable EntryMapping mapping);
39 42
40 @Override 43 @Override