1 21 package proguard.preverify; 22 23 import proguard.Configuration; 24 import proguard.classfile.*; 25 import proguard.classfile.attribute.visitor.AllAttributeVisitor; 26 import proguard.classfile.visitor.*; 27 28 34 public class Preverifier 35 { 36 private Configuration configuration; 37 38 39 42 public Preverifier(Configuration configuration) 43 { 44 this.configuration = configuration; 45 } 46 47 48 51 public void execute(ClassPool programClassPool) 52 { 53 programClassPool.classesAccept(new ClassCleaner()); 55 56 ClassVisitor preverifier = 58 new AllMethodVisitor( 59 new AllAttributeVisitor( 60 new CodePreverifier(configuration.microEdition))); 61 62 if (!configuration.microEdition) 65 { 66 preverifier = 67 new ClassVersionFilter(ClassConstants.INTERNAL_CLASS_VERSION_1_6, 68 Integer.MAX_VALUE, 69 preverifier); 70 } 71 72 programClassPool.classesAccept(preverifier); 73 } 74 } 75 | Popular Tags |