1 21 package proguard.classfile.editor; 22 23 import proguard.classfile.*; 24 25 31 public class MembersEditor 32 { 33 private static final boolean DEBUG = false; 34 35 36 39 public void addField(ProgramClass programClass, 40 Field field) 41 { 42 int fieldsCount = programClass.u2fieldsCount; 43 Field[] fields = programClass.fields; 44 45 if (fields.length <= fieldsCount) 47 { 48 programClass.fields = new ProgramField[fieldsCount+1]; 49 System.arraycopy(fields, 0, 50 programClass.fields, 0, 51 fieldsCount); 52 fields = programClass.fields; 53 } 54 55 if (DEBUG) 56 { 57 System.out.println(programClass.getName()+": adding ["+field.getName(programClass)+field.getDescriptor(programClass)+"]"); 58 } 59 60 fields[programClass.u2fieldsCount++] = field; 62 } 63 64 65 68 public void addMethod(ProgramClass programClass, 69 Method method) 70 { 71 int methodsCount = programClass.u2methodsCount; 72 Method[] methods = programClass.methods; 73 74 if (methods.length <= methodsCount) 76 { 77 programClass.methods = new ProgramMethod[methodsCount+1]; 78 System.arraycopy(methods, 0, 79 programClass.methods, 0, 80 methodsCount); 81 methods = programClass.methods; 82 } 83 84 if (DEBUG) 85 { 86 System.out.println(programClass.getName()+": adding ["+method.getName(programClass)+method.getDescriptor(programClass)+"]"); 87 } 88 89 methods[programClass.u2methodsCount++] = method; 91 } 92 } 93 | Popular Tags |