From fb31387fdeedd831b80446afbe7adea719499348 Mon Sep 17 00:00:00 2001 From: Adrian Siekierka Date: Sun, 4 Nov 2018 12:30:00 +0100 Subject: unify local variable/argument numbering --- src/main/java/cuchaz/enigma/mapping/TypeDescriptor.java | 14 ++++++++++++++ .../java/cuchaz/enigma/mapping/entry/MethodDefEntry.java | 10 ---------- 2 files changed, 14 insertions(+), 10 deletions(-) (limited to 'src/main/java/cuchaz/enigma/mapping') 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 { return buf.toString(); } + public int getSize() { + switch (desc.charAt(0)) { + case 'J': + case 'D': + if (desc.length() == 1) { + return 2; + } else { + return 1; + } + default: + return 1; + } + } + public enum Primitive { Byte('B'), 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 { return signature; } - public int getVariableOffset(ClassDefEntry ownerEntry) { - // Enum constructors have an implicit "name" and "ordinal" parameter as well as "this" - if (ownerEntry.getAccess().isEnum() && getName().startsWith("<")) { - return 3; - } else { - // If we're not static, "this" is bound to index 0 - return getAccess().isStatic() ? 0 : 1; - } - } - @Override public MethodDefEntry updateOwnership(ClassEntry classEntry) { return new MethodDefEntry(new ClassEntry(classEntry.getName()), name, descriptor, signature, access); -- cgit v1.2.3