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; return mapping;
} }
private static Map<MemberRef, String> createMethodMapping(ClassPath classPath, DisjointSet<MemberRef> disjointSet) { public static boolean isMethodImmutable(ClassPath classPath, DisjointSet.Partition<MemberRef> partition) {
var mapping = new HashMap<MemberRef, String>(); for (var method : partition) {
var id = 0; var clazz = classPath.get(method.getOwner());
for (var partition : disjointSet) { if (EXCLUDED_METHODS.contains(method.getName())) {
boolean skip = false; return true;
}
for (var method : partition) { if (clazz.isDependency()) {
var clazz = classPath.get(method.getOwner()); return true;
}
if (EXCLUDED_METHODS.contains(method.getName())) { if (clazz.isNative(new MemberDesc(method.getName(), method.getDesc()))) {
skip = true; return true;
break; }
} }
if (clazz.isDependency()) { return false;
skip = true; }
break;
}
if (clazz.isNative(new MemberDesc(method.getName(), method.getDesc()))) { private static Map<MemberRef, String> createMethodMapping(ClassPath classPath, DisjointSet<MemberRef> disjointSet) {
skip = true; var mapping = new HashMap<MemberRef, String>();
break; var id = 0;
}
}
if (skip) { for (var partition : disjointSet) {
if (isMethodImmutable(classPath, partition)) {
continue; continue;
} }

Loading…
Cancel
Save