1 21 package proguard.classfile.editor; 22 23 import proguard.classfile.visitor.ClassVisitor; 24 import proguard.classfile.*; 25 26 import java.util.*; 27 28 35 public class ClassMemberSorter implements ClassVisitor, Comparator 36 { 37 39 public void visitProgramClass(ProgramClass programClass) 40 { 41 Arrays.sort(programClass.fields, 0, programClass.u2fieldsCount, this); 43 44 Arrays.sort(programClass.methods, 0, programClass.u2methodsCount, this); 46 } 47 48 49 public void visitLibraryClass(LibraryClass libraryClass) 50 { 51 } 52 53 54 56 public int compare(Object object1, Object object2) 57 { 58 ProgramMember member1 = (ProgramMember)object1; 59 ProgramMember member2 = (ProgramMember)object2; 60 61 return member1.u2accessFlags < member2.u2accessFlags ? -1 : 62 member1.u2accessFlags > member2.u2accessFlags ? 1 : 63 member1.u2nameIndex < member2.u2nameIndex ? -1 : 64 member1.u2nameIndex > member2.u2nameIndex ? 1 : 65 member1.u2descriptorIndex < member2.u2descriptorIndex ? -1 : 66 member1.u2descriptorIndex > member2.u2descriptorIndex ? 1 : 67 0; 68 } 69 } 70 | Popular Tags |