1 21 package proguard.classfile.editor; 22 23 import proguard.classfile.*; 24 import proguard.classfile.attribute.ExceptionsAttribute; 25 import proguard.classfile.constant.ClassConstant; 26 import proguard.classfile.constant.visitor.ConstantVisitor; 27 import proguard.classfile.util.SimplifiedVisitor; 28 29 35 public class ExceptionAdder 36 extends SimplifiedVisitor 37 implements ConstantVisitor 38 { 39 private ExceptionsAttribute targetExceptionsAttribute; 40 41 private ConstantAdder constantAdder = new ConstantAdder(); 42 private ExceptionsEditor exceptionsEditor = new ExceptionsEditor(); 43 44 45 49 public ExceptionAdder(ProgramClass targetClass, 50 ExceptionsAttribute targetExceptionsAttribute) 51 { 52 this.targetExceptionsAttribute = targetExceptionsAttribute; 53 54 constantAdder.setTargetClass(targetClass); 55 } 56 57 58 60 public void visitClassConstant(Clazz clazz, ClassConstant classConstant) 61 { 62 constantAdder.visitClassConstant(clazz, classConstant); 63 64 exceptionsEditor.addException(targetExceptionsAttribute, 65 constantAdder.getConstantIndex()); 66 } 67 } 68 | Popular Tags |