From 4438a04996887882f72f228fe51ff59f27611e55 Mon Sep 17 00:00:00 2001 From: asie Date: Tue, 27 Nov 2018 23:35:26 +0100 Subject: do not propagate non-argument local variable names --- .../cuchaz/enigma/mapping/entry/LocalVariableDefEntry.java | 8 ++++++-- .../cuchaz/enigma/mapping/entry/LocalVariableEntry.java | 13 ++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'src/main/java/cuchaz/enigma/mapping/entry') diff --git a/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableDefEntry.java b/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableDefEntry.java index 7742272..d186664 100644 --- a/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableDefEntry.java +++ b/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableDefEntry.java @@ -15,7 +15,11 @@ public class LocalVariableDefEntry extends LocalVariableEntry { protected final TypeDescriptor desc; public LocalVariableDefEntry(MethodDefEntry ownerEntry, int index, String name, TypeDescriptor desc) { - super(ownerEntry, index, name); + this(ownerEntry, index, name, true, desc); + } + + public LocalVariableDefEntry(MethodDefEntry ownerEntry, int index, String name, boolean parameter, TypeDescriptor desc) { + super(ownerEntry, index, name, parameter); Preconditions.checkNotNull(desc, "Variable desc cannot be null"); this.ownerEntry = ownerEntry; @@ -33,7 +37,7 @@ public class LocalVariableDefEntry extends LocalVariableEntry { @Override public LocalVariableDefEntry updateOwnership(ClassEntry classEntry) { - return new LocalVariableDefEntry(ownerEntry.updateOwnership(classEntry), index, name, desc); + return new LocalVariableDefEntry(ownerEntry.updateOwnership(classEntry), index, name, parameter, desc); } @Override diff --git a/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableEntry.java b/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableEntry.java index a794d0a..3507b25 100644 --- a/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableEntry.java +++ b/src/main/java/cuchaz/enigma/mapping/entry/LocalVariableEntry.java @@ -14,8 +14,14 @@ public class LocalVariableEntry implements Entry { protected final MethodEntry ownerEntry; protected final String name; protected final int index; + protected final boolean parameter; + @Deprecated public LocalVariableEntry(MethodEntry ownerEntry, int index, String name) { + this(ownerEntry, index, name, true); + } + + public LocalVariableEntry(MethodEntry ownerEntry, int index, String name, boolean parameter) { Preconditions.checkNotNull(ownerEntry, "Variable owner cannot be null"); Preconditions.checkNotNull(name, "Variable name cannot be null"); Preconditions.checkArgument(index >= 0, "Index must be positive"); @@ -23,6 +29,11 @@ public class LocalVariableEntry implements Entry { this.ownerEntry = ownerEntry; this.name = name; this.index = index; + this.parameter = parameter; + } + + public boolean isParameter() { + return this.parameter; } public MethodEntry getOwnerEntry() { @@ -50,7 +61,7 @@ public class LocalVariableEntry implements Entry { @Override public LocalVariableEntry updateOwnership(ClassEntry classEntry) { - return new LocalVariableEntry(ownerEntry.updateOwnership(classEntry), index, name); + return new LocalVariableEntry(ownerEntry.updateOwnership(classEntry), index, name, parameter); } public String getMethodName() { -- cgit v1.2.3