diff options
| author | 2018-11-27 23:35:26 +0100 | |
|---|---|---|
| committer | 2018-11-27 23:35:26 +0100 | |
| commit | 4438a04996887882f72f228fe51ff59f27611e55 (patch) | |
| tree | 7559592a58be47d8a0c7b9543baa8544e2af97b8 /src/main/java/cuchaz/enigma/analysis | |
| parent | update Guava, show proper constructor tree node, fix AccessFlags.toString (diff) | |
| download | enigma-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.java | 5 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/analysis/SourceIndexMethodVisitor.java | 4 |
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); |