forked from openrs2/openrs2
Signed-off-by: Graham <gpe@openrs2.dev>
parent
64dc49e15b
commit
113820a9a2
@ -0,0 +1,13 @@ |
|||||||
|
package dev.openrs2.asm.classpath |
||||||
|
|
||||||
|
import org.objectweb.asm.commons.Remapper |
||||||
|
|
||||||
|
abstract class ExtendedRemapper : Remapper() { |
||||||
|
open fun mapFieldOwner(owner: String, name: String, desc: String): String { |
||||||
|
return mapType(owner) |
||||||
|
} |
||||||
|
|
||||||
|
open fun mapMethodOwner(owner: String, name: String, desc: String): String { |
||||||
|
return mapType(owner) |
||||||
|
} |
||||||
|
} |
@ -1,22 +1,29 @@ |
|||||||
package dev.openrs2.deob.remap |
package dev.openrs2.deob.remap |
||||||
|
|
||||||
|
import dev.openrs2.asm.classpath.ExtendedRemapper |
||||||
import dev.openrs2.asm.classpath.Library |
import dev.openrs2.asm.classpath.Library |
||||||
import dev.openrs2.asm.filter.ClassFilter |
import dev.openrs2.asm.filter.ClassFilter |
||||||
import org.objectweb.asm.commons.Remapper |
|
||||||
import org.objectweb.asm.commons.SimpleRemapper |
|
||||||
|
|
||||||
object PrefixRemapper { |
class PrefixRemapper(private val prefix: String, private val classes: Set<String>) : ExtendedRemapper() { |
||||||
fun create(library: Library, prefix: String, excluded: ClassFilter): Remapper { |
override fun map(internalName: String): String { |
||||||
val mapping = mutableMapOf<String, String>() |
return if (classes.contains(internalName)) { |
||||||
|
prefix + internalName |
||||||
|
} else { |
||||||
|
internalName |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
companion object { |
||||||
|
fun create(library: Library, prefix: String, excluded: ClassFilter): ExtendedRemapper { |
||||||
|
val classes = mutableSetOf<String>() |
||||||
|
|
||||||
for (clazz in library) { |
for (clazz in library) { |
||||||
if (excluded.matches(clazz.name)) { |
if (!excluded.matches(clazz.name)) { |
||||||
mapping[clazz.name] = clazz.name |
classes += clazz.name |
||||||
} else { |
|
||||||
mapping[clazz.name] = prefix + clazz.name |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
return SimpleRemapper(mapping) |
return PrefixRemapper(prefix, classes) |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue