aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/replaymod/gradle/remap/PsiMapper.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/com/replaymod/gradle/remap/PsiMapper.kt')
-rw-r--r--src/main/kotlin/com/replaymod/gradle/remap/PsiMapper.kt6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/kotlin/com/replaymod/gradle/remap/PsiMapper.kt b/src/main/kotlin/com/replaymod/gradle/remap/PsiMapper.kt
index a71c4d1..210e2d4 100644
--- a/src/main/kotlin/com/replaymod/gradle/remap/PsiMapper.kt
+++ b/src/main/kotlin/com/replaymod/gradle/remap/PsiMapper.kt
@@ -437,7 +437,9 @@ internal class PsiMapper(
private fun remapAccessors(mapping: ClassMapping<*, *>) {
file.accept(object : JavaRecursiveElementVisitor() {
override fun visitMethod(method: PsiMethod) {
- val annotation = method.getAnnotation(CLASS_ACCESSOR) ?: method.getAnnotation(CLASS_INVOKER) ?: return
+ val accessorAnnotation = method.getAnnotation(CLASS_ACCESSOR)
+ val invokerAnnotation = method.getAnnotation(CLASS_INVOKER)
+ val annotation = accessorAnnotation ?: invokerAnnotation ?: return
val methodName = method.name
val targetByName = when {
@@ -451,7 +453,7 @@ internal class PsiMapper(
it.name == null || it.name == "value"
}?.literalValue ?: targetByName ?: throw IllegalArgumentException("Cannot determine accessor target for $method")
- val mapped = if (methodName.startsWith("invoke")) {
+ val mapped = if (invokerAnnotation != null) {
mapping.methodMappings.find { it.obfuscatedName == target }?.deobfuscatedName
} else {
mapping.findFieldMapping(target)?.deobfuscatedName