diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java index 1c11f58..52b40b0 100644 --- a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java +++ b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java | |||
| @@ -147,7 +147,8 @@ public class TranslationMethodVisitor extends MethodVisitor { | |||
| 147 | // If we didn't receive any parameter metadata, generate it | 147 | // If we didn't receive any parameter metadata, generate it |
| 148 | if (!hasParameterMeta) { | 148 | if (!hasParameterMeta) { |
| 149 | List<TypeDescriptor> arguments = methodEntry.getDesc().getArgumentDescs(); | 149 | List<TypeDescriptor> arguments = methodEntry.getDesc().getArgumentDescs(); |
| 150 | int offset = ((ownerEntry.getAccess().getFlags() & Opcodes.ACC_INTERFACE) != 0) ? 1 : 0; | 150 | int flags = ownerEntry.getAccess().getFlags(); |
| 151 | int offset = ((flags & Opcodes.ACC_INTERFACE) != 0 || (flags & Opcodes.ACC_ABSTRACT) != 0) ? 1 : 0; | ||
| 151 | 152 | ||
| 152 | for (int index = 0; index < arguments.size(); index++) { | 153 | for (int index = 0; index < arguments.size(); index++) { |
| 153 | LocalVariableEntry entry = new LocalVariableEntry(methodEntry, offset, "", true); | 154 | LocalVariableEntry entry = new LocalVariableEntry(methodEntry, offset, "", true); |