From 4297fa87848d379e15e80ebc0d3106082c4647e0 Mon Sep 17 00:00:00 2001 From: Thiakil Date: Fri, 6 Jul 2018 22:52:33 +0800 Subject: move SynchronizedTypeLoader to a non-inner --- src/main/java/cuchaz/enigma/Deobfuscator.java | 28 ---------------- .../java/cuchaz/enigma/SynchronizedTypeLoader.java | 39 ++++++++++++++++++++++ 2 files changed, 39 insertions(+), 28 deletions(-) create mode 100644 src/main/java/cuchaz/enigma/SynchronizedTypeLoader.java diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index cb02ffab..b2cecfe2 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -15,7 +15,6 @@ import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import com.strobel.assembler.metadata.Buffer; import com.strobel.assembler.metadata.MetadataSystem; import com.strobel.assembler.metadata.TypeDefinition; import com.strobel.assembler.metadata.TypeReference; @@ -667,31 +666,4 @@ public class Deobfuscator { String transform(ClassNode node, ClassWriter writer); } - private class SynchronizedTypeLoader implements ITranslatingTypeLoader { - private final TranslatingTypeLoader delegate; - - private SynchronizedTypeLoader(TranslatingTypeLoader delegate) { - this.delegate = delegate; - } - - @Override - public List getClassNamesToTry(String className) { - return delegate.getClassNamesToTry(className); - } - - @Override - public List getClassNamesToTry(ClassEntry obfClassEntry) { - return delegate.getClassNamesToTry(obfClassEntry); - } - - @Override - public String transformInto(ClassNode node, ClassWriter writer) { - return delegate.transformInto(node, writer); - } - - @Override - public synchronized boolean tryLoadType(String internalName, Buffer buffer) { - return delegate.tryLoadType(internalName, buffer); - } - } } diff --git a/src/main/java/cuchaz/enigma/SynchronizedTypeLoader.java b/src/main/java/cuchaz/enigma/SynchronizedTypeLoader.java new file mode 100644 index 00000000..9aa3c5e4 --- /dev/null +++ b/src/main/java/cuchaz/enigma/SynchronizedTypeLoader.java @@ -0,0 +1,39 @@ +package cuchaz.enigma; + +import com.strobel.assembler.metadata.Buffer; +import cuchaz.enigma.mapping.entry.ClassEntry; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.tree.ClassNode; + +import java.util.List; + +/** + * Typeloader with synchronized tryLoadType method + */ +public class SynchronizedTypeLoader implements ITranslatingTypeLoader { + private final TranslatingTypeLoader delegate; + + SynchronizedTypeLoader(TranslatingTypeLoader delegate) { + this.delegate = delegate; + } + + @Override + public List getClassNamesToTry(String className) { + return delegate.getClassNamesToTry(className); + } + + @Override + public List getClassNamesToTry(ClassEntry obfClassEntry) { + return delegate.getClassNamesToTry(obfClassEntry); + } + + @Override + public String transformInto(ClassNode node, ClassWriter writer) { + return delegate.transformInto(node, writer); + } + + @Override + public synchronized boolean tryLoadType(String internalName, Buffer buffer) { + return delegate.tryLoadType(internalName, buffer); + } +} -- cgit v1.2.3