Add isMethodImmutable method to TypedRemapper

I'm going to use this in a new Transformer.
pull/48/head
Graham 5 years ago
parent b7347b2632
commit 46ab5111e6
  1. 41
      deob/src/main/java/dev/openrs2/deob/remap/TypedRemapper.java

@ -176,33 +176,32 @@ public final class TypedRemapper extends Remapper {
return mapping;
}
private static Map<MemberRef, String> createMethodMapping(ClassPath classPath, DisjointSet<MemberRef> disjointSet) {
var mapping = new HashMap<MemberRef, String>();
var id = 0;
public static boolean isMethodImmutable(ClassPath classPath, DisjointSet.Partition<MemberRef> partition) {
for (var method : partition) {
var clazz = classPath.get(method.getOwner());
for (var partition : disjointSet) {
boolean skip = false;
if (EXCLUDED_METHODS.contains(method.getName())) {
return true;
}
for (var method : partition) {
var clazz = classPath.get(method.getOwner());
if (clazz.isDependency()) {
return true;
}
if (EXCLUDED_METHODS.contains(method.getName())) {
skip = true;
break;
}
if (clazz.isNative(new MemberDesc(method.getName(), method.getDesc()))) {
return true;
}
}
if (clazz.isDependency()) {
skip = true;
break;
}
return false;
}
if (clazz.isNative(new MemberDesc(method.getName(), method.getDesc()))) {
skip = true;
break;
}
}
private static Map<MemberRef, String> createMethodMapping(ClassPath classPath, DisjointSet<MemberRef> disjointSet) {
var mapping = new HashMap<MemberRef, String>();
var id = 0;
if (skip) {
for (var partition : disjointSet) {
if (isMethodImmutable(classPath, partition)) {
continue;
}

Loading…
Cancel
Save