1 21 package proguard.preverify; 22 23 import proguard.classfile.*; 24 import proguard.classfile.attribute.visitor.AllAttributeVisitor; 25 import proguard.classfile.visitor.*; 26 import proguard.Configuration; 27 28 34 public class SubroutineInliner 35 { 36 private Configuration configuration; 37 38 39 42 public SubroutineInliner(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 inliner = 58 new AllMethodVisitor( 59 new AllAttributeVisitor( 60 new CodeSubroutineInliner())); 61 62 if (!configuration.microEdition) 65 { 66 inliner = 67 new ClassVersionFilter(ClassConstants.INTERNAL_CLASS_VERSION_1_6, 68 Integer.MAX_VALUE, 69 inliner); 70 } 71 72 programClassPool.classesAccept(inliner); 73 } 74 } 75 | Popular Tags |