From ff6cb1a78ee3480929c9b94e19d83e325962337f Mon Sep 17 00:00:00 2001 From: asie Date: Wed, 31 Oct 2018 22:08:47 +0100 Subject: hackfix argument order in inner class constructors. this needs a proper fix --- src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/main/java/cuchaz/enigma/analysis') diff --git a/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java b/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java index 2a638db..d88eae3 100644 --- a/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java +++ b/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java @@ -33,7 +33,7 @@ public class SourceIndexMethodVisitor extends SourceIndexVisitor { private Multimap unmatchedIdentifier = HashMultimap.create(); private Map identifierEntryCache = new HashMap<>(); - private int argumentPosition = 0; + private int argumentPosition; public SourceIndexMethodVisitor(ReferencedEntryPool entryPool, ClassDefEntry ownerEntry, MethodDefEntry methodEntry) { super(entryPool); @@ -41,6 +41,10 @@ public class SourceIndexMethodVisitor extends SourceIndexVisitor { this.entryFactory = new ProcyonEntryFactory(entryPool); this.ownerEntry = ownerEntry; this.methodEntry = methodEntry; + this.argumentPosition = 0; + if (ownerEntry.isInnerClass() && methodEntry.isConstructor() && !ownerEntry.getAccess().isStatic()) { + this.argumentPosition++; + } } @Override -- cgit v1.2.3