refactor: move code shrink visitor to separate package and extract inner classes
This commit is contained in:
@@ -40,16 +40,19 @@ public class JadxVisitorsOrderTest {
|
||||
List<String> errors = new ArrayList<>();
|
||||
|
||||
Set<String> names = new HashSet<>();
|
||||
Set<Class> passClsSet = new HashSet<>();
|
||||
for (int i = 0; i < passes.size(); i++) {
|
||||
IDexTreeVisitor pass = passes.get(i);
|
||||
JadxVisitor info = pass.getClass().getAnnotation(JadxVisitor.class);
|
||||
Class<? extends IDexTreeVisitor> passClass = pass.getClass();
|
||||
JadxVisitor info = passClass.getAnnotation(JadxVisitor.class);
|
||||
if (info == null) {
|
||||
LOG.warn("No JadxVisitor annotation for visitor: {}", pass.getClass().getName());
|
||||
LOG.warn("No JadxVisitor annotation for visitor: {}", passClass.getName());
|
||||
continue;
|
||||
}
|
||||
String passName = pass.getClass().getSimpleName();
|
||||
if (!names.add(passName)) {
|
||||
errors.add("Visitor name conflict: " + passName + ", class: " + pass.getClass().getName());
|
||||
boolean firstOccurrence = passClsSet.add(passClass);
|
||||
String passName = passClass.getSimpleName();
|
||||
if (firstOccurrence && !names.add(passName)) {
|
||||
errors.add("Visitor name conflict: " + passName + ", class: " + passClass.getName());
|
||||
}
|
||||
for (Class<? extends IDexTreeVisitor> cls : info.runBefore()) {
|
||||
if (classList.indexOf(cls) < i) {
|
||||
|
||||
Reference in New Issue
Block a user