diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/mapping')
| -rw-r--r-- | src/main/java/cuchaz/enigma/mapping/TypeDescriptor.java | 14 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/mapping/entry/MethodDefEntry.java | 10 |
2 files changed, 14 insertions, 10 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/TypeDescriptor.java b/src/main/java/cuchaz/enigma/mapping/TypeDescriptor.java index b7b1255..3c8cc74 100644 --- a/src/main/java/cuchaz/enigma/mapping/TypeDescriptor.java +++ b/src/main/java/cuchaz/enigma/mapping/TypeDescriptor.java | |||
| @@ -208,6 +208,20 @@ public class TypeDescriptor { | |||
| 208 | return buf.toString(); | 208 | return buf.toString(); |
| 209 | } | 209 | } |
| 210 | 210 | ||
| 211 | public int getSize() { | ||
| 212 | switch (desc.charAt(0)) { | ||
| 213 | case 'J': | ||
| 214 | case 'D': | ||
| 215 | if (desc.length() == 1) { | ||
| 216 | return 2; | ||
| 217 | } else { | ||
| 218 | return 1; | ||
| 219 | } | ||
| 220 | default: | ||
| 221 | return 1; | ||
| 222 | } | ||
| 223 | } | ||
| 224 | |||
| 211 | public enum Primitive { | 225 | public enum Primitive { |
| 212 | Byte('B'), | 226 | Byte('B'), |
| 213 | Character('C'), | 227 | Character('C'), |
diff --git a/src/main/java/cuchaz/enigma/mapping/entry/MethodDefEntry.java b/src/main/java/cuchaz/enigma/mapping/entry/MethodDefEntry.java index bb7c85e..ec3af69 100644 --- a/src/main/java/cuchaz/enigma/mapping/entry/MethodDefEntry.java +++ b/src/main/java/cuchaz/enigma/mapping/entry/MethodDefEntry.java | |||
| @@ -37,16 +37,6 @@ public class MethodDefEntry extends MethodEntry { | |||
| 37 | return signature; | 37 | return signature; |
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | public int getVariableOffset(ClassDefEntry ownerEntry) { | ||
| 41 | // Enum constructors have an implicit "name" and "ordinal" parameter as well as "this" | ||
| 42 | if (ownerEntry.getAccess().isEnum() && getName().startsWith("<")) { | ||
| 43 | return 3; | ||
| 44 | } else { | ||
| 45 | // If we're not static, "this" is bound to index 0 | ||
| 46 | return getAccess().isStatic() ? 0 : 1; | ||
| 47 | } | ||
| 48 | } | ||
| 49 | |||
| 50 | @Override | 40 | @Override |
| 51 | public MethodDefEntry updateOwnership(ClassEntry classEntry) { | 41 | public MethodDefEntry updateOwnership(ClassEntry classEntry) { |
| 52 | return new MethodDefEntry(new ClassEntry(classEntry.getName()), name, descriptor, signature, access); | 42 | return new MethodDefEntry(new ClassEntry(classEntry.getName()), name, descriptor, signature, access); |