diff options
| author | 2019-05-10 22:21:11 +0200 | |
|---|---|---|
| committer | 2019-05-10 22:21:11 +0200 | |
| commit | 75f383a1956eb19fc838ea647a7e7b24552324cf (patch) | |
| tree | d0aa11a90110b60404f40a5f7f39704598491585 /src/main/java/cuchaz/enigma/translation/mapping | |
| parent | Use our procyon to fix compiler issues (#128) (diff) | |
| download | enigma-fork-75f383a1956eb19fc838ea647a7e7b24552324cf.tar.gz enigma-fork-75f383a1956eb19fc838ea647a7e7b24552324cf.tar.xz enigma-fork-75f383a1956eb19fc838ea647a7e7b24552324cf.zip | |
Don't remap specialized methods to their bridge partner in bytecode
Diffstat (limited to 'src/main/java/cuchaz/enigma/translation/mapping')
| -rw-r--r-- | src/main/java/cuchaz/enigma/translation/mapping/IndexEntryResolver.java | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/java/cuchaz/enigma/translation/mapping/IndexEntryResolver.java b/src/main/java/cuchaz/enigma/translation/mapping/IndexEntryResolver.java index 6c8ed76..78231dd 100644 --- a/src/main/java/cuchaz/enigma/translation/mapping/IndexEntryResolver.java +++ b/src/main/java/cuchaz/enigma/translation/mapping/IndexEntryResolver.java | |||
| @@ -86,7 +86,7 @@ public class IndexEntryResolver implements EntryResolver { | |||
| 86 | ClassEntry ownerClass = entry.getParent(); | 86 | ClassEntry ownerClass = entry.getParent(); |
| 87 | 87 | ||
| 88 | if (entry instanceof MethodEntry) { | 88 | if (entry instanceof MethodEntry) { |
| 89 | MethodEntry bridgeMethod = bridgeMethodIndex.getBridgeFromAccessed((MethodEntry) entry); | 89 | MethodEntry bridgeMethod = bridgeMethodIndex.getBridgeFromSpecialized((MethodEntry) entry); |
| 90 | if (bridgeMethod != null && ownerClass.equals(bridgeMethod.getParent())) { | 90 | if (bridgeMethod != null && ownerClass.equals(bridgeMethod.getParent())) { |
| 91 | Set<Entry<ClassEntry>> resolvedBridge = resolveChildEntry(bridgeMethod, strategy); | 91 | Set<Entry<ClassEntry>> resolvedBridge = resolveChildEntry(bridgeMethod, strategy); |
| 92 | if (!resolvedBridge.isEmpty()) { | 92 | if (!resolvedBridge.isEmpty()) { |
| @@ -183,10 +183,10 @@ public class IndexEntryResolver implements EntryResolver { | |||
| 183 | } | 183 | } |
| 184 | 184 | ||
| 185 | // look at bridge methods! | 185 | // look at bridge methods! |
| 186 | MethodEntry bridgedMethod = bridgeMethodIndex.getBridgeFromAccessed(methodEntry); | 186 | MethodEntry bridgedMethod = bridgeMethodIndex.getBridgeFromSpecialized(methodEntry); |
| 187 | while (bridgedMethod != null) { | 187 | while (bridgedMethod != null) { |
| 188 | methodEntries.addAll(resolveEquivalentMethods(bridgedMethod)); | 188 | methodEntries.addAll(resolveEquivalentMethods(bridgedMethod)); |
| 189 | bridgedMethod = bridgeMethodIndex.getBridgeFromAccessed(bridgedMethod); | 189 | bridgedMethod = bridgeMethodIndex.getBridgeFromSpecialized(bridgedMethod); |
| 190 | } | 190 | } |
| 191 | 191 | ||
| 192 | // look at interface methods too | 192 | // look at interface methods too |
| @@ -209,10 +209,10 @@ public class IndexEntryResolver implements EntryResolver { | |||
| 209 | } | 209 | } |
| 210 | 210 | ||
| 211 | // look at bridge methods! | 211 | // look at bridge methods! |
| 212 | MethodEntry bridgedMethod = bridgeMethodIndex.getBridgeFromAccessed(methodEntry); | 212 | MethodEntry bridgedMethod = bridgeMethodIndex.getBridgeFromSpecialized(methodEntry); |
| 213 | while (bridgedMethod != null) { | 213 | while (bridgedMethod != null) { |
| 214 | methodEntries.addAll(resolveEquivalentMethods(bridgedMethod)); | 214 | methodEntries.addAll(resolveEquivalentMethods(bridgedMethod)); |
| 215 | bridgedMethod = bridgeMethodIndex.getBridgeFromAccessed(bridgedMethod); | 215 | bridgedMethod = bridgeMethodIndex.getBridgeFromSpecialized(bridgedMethod); |
| 216 | } | 216 | } |
| 217 | 217 | ||
| 218 | // recurse | 218 | // recurse |