summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/analysis
diff options
context:
space:
mode:
authorGravatar asie2018-11-27 23:35:26 +0100
committerGravatar asie2018-11-27 23:35:26 +0100
commit4438a04996887882f72f228fe51ff59f27611e55 (patch)
tree7559592a58be47d8a0c7b9543baa8544e2af97b8 /src/main/java/cuchaz/enigma/analysis
parentupdate Guava, show proper constructor tree node, fix AccessFlags.toString (diff)
downloadenigma-fork-4438a04996887882f72f228fe51ff59f27611e55.tar.gz
enigma-fork-4438a04996887882f72f228fe51ff59f27611e55.tar.xz
enigma-fork-4438a04996887882f72f228fe51ff59f27611e55.zip
do not propagate non-argument local variable names
Diffstat (limited to 'src/main/java/cuchaz/enigma/analysis')
-rw-r--r--src/main/java/cuchaz/enigma/analysis/EntryRenamer.java5
-rw-r--r--src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java b/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java
index 9be8378..c474d68 100644
--- a/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java
+++ b/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java
@@ -99,7 +99,8 @@ public class EntryRenamer {
99 return (T) new LocalVariableEntry( 99 return (T) new LocalVariableEntry(
100 renameMethodsInThing(renames, variableEntry.getOwnerEntry()), 100 renameMethodsInThing(renames, variableEntry.getOwnerEntry()),
101 variableEntry.getIndex(), 101 variableEntry.getIndex(),
102 variableEntry.getName() 102 variableEntry.getName(),
103 variableEntry.isParameter()
103 ); 104 );
104 } else if (thing instanceof EntryReference) { 105 } else if (thing instanceof EntryReference) {
105 EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing; 106 EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing;
@@ -147,7 +148,7 @@ public class EntryRenamer {
147 ); 148 );
148 } else if (thing instanceof LocalVariableEntry) { 149 } else if (thing instanceof LocalVariableEntry) {
149 LocalVariableEntry argumentEntry = (LocalVariableEntry) thing; 150 LocalVariableEntry argumentEntry = (LocalVariableEntry) thing;
150 return (T) new LocalVariableEntry(renameClassesInThing(renames, argumentEntry.getOwnerEntry()), argumentEntry.getIndex(), argumentEntry.getName()); 151 return (T) new LocalVariableEntry(renameClassesInThing(renames, argumentEntry.getOwnerEntry()), argumentEntry.getIndex(), argumentEntry.getName(), argumentEntry.isParameter());
151 } else if (thing instanceof EntryReference) { 152 } else if (thing instanceof EntryReference) {
152 EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing; 153 EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing;
153 reference.entry = renameClassesInThing(renames, reference.entry); 154 reference.entry = renameClassesInThing(renames, reference.entry);
diff --git a/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java b/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java
index 45f7a0e..139fcea 100644
--- a/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java
+++ b/src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java
@@ -111,7 +111,7 @@ public class SourceIndexMethodVisitor extends SourceIndexVisitor {
111 int parameterIndex = def.getSlot(); 111 int parameterIndex = def.getSlot();
112 112
113 if (parameterIndex >= 0) { 113 if (parameterIndex >= 0) {
114 LocalVariableEntry localVariableEntry = new LocalVariableEntry(methodEntry, parameterIndex, node.getName()); 114 LocalVariableEntry localVariableEntry = new LocalVariableEntry(methodEntry, parameterIndex, node.getName(), true);
115 Identifier identifier = node.getNameToken(); 115 Identifier identifier = node.getNameToken();
116 // cache the argument entry and the identifier 116 // cache the argument entry and the identifier
117 identifierEntryCache.put(identifier.getName(), localVariableEntry); 117 identifierEntryCache.put(identifier.getName(), localVariableEntry);
@@ -184,7 +184,7 @@ public class SourceIndexMethodVisitor extends SourceIndexVisitor {
184 if (originalVariable != null) { 184 if (originalVariable != null) {
185 int variableIndex = originalVariable.getSlot(); 185 int variableIndex = originalVariable.getSlot();
186 if (variableIndex >= 0) { 186 if (variableIndex >= 0) {
187 LocalVariableEntry localVariableEntry = new LocalVariableEntry(methodEntry, variableIndex, initializer.getName()); 187 LocalVariableEntry localVariableEntry = new LocalVariableEntry(methodEntry, variableIndex, initializer.getName(), false);
188 identifierEntryCache.put(identifier.getName(), localVariableEntry); 188 identifierEntryCache.put(identifier.getName(), localVariableEntry);
189 addDeclarationToUnmatched(identifier.getName(), index); 189 addDeclarationToUnmatched(identifier.getName(), index);
190 index.addDeclaration(identifier, localVariableEntry); 190 index.addDeclaration(identifier, localVariableEntry);