/** * Creates a new ConstantPoolEditor that automatically initializes class * references and class member references in new constants. * @param targetClass the target class in which constants are to be * edited. * @param programClassPool the program class pool from which new constants * can be initialized. * @param libraryClassPool the library class pool from which new constants * can be initialized. */ public ConstantPoolEditor(ProgramClass targetClass, ClassPool programClassPool, ClassPool libraryClassPool) { this.targetClass = targetClass; constantReferenceInitializer = programClassPool == null ? null : new WildcardConstantFilter( new ClassReferenceInitializer(programClassPool, libraryClassPool)); }
/** * Creates a new ConstantPoolEditor that automatically initializes class * references and class member references in new constants. * @param targetClass the target class in which constants are to be * edited. * @param programClassPool the program class pool from which new constants * can be initialized. * @param libraryClassPool the library class pool from which new constants * can be initialized. */ public ConstantPoolEditor(ProgramClass targetClass, ClassPool programClassPool, ClassPool libraryClassPool) { this.targetClass = targetClass; constantReferenceInitializer = programClassPool == null ? null : new WildcardConstantFilter( new ClassReferenceInitializer(programClassPool, libraryClassPool)); }
/** * Creates a new ConstantPoolEditor that automatically initializes class * references and class member references in new constants. * @param targetClass the target class in which constants are to be * edited. * @param programClassPool the program class pool from which new constants * can be initialized. * @param libraryClassPool the library class pool from which new constants * can be initialized. */ public ConstantPoolEditor(ProgramClass targetClass, ClassPool programClassPool, ClassPool libraryClassPool) { this.targetClass = targetClass; constantReferenceInitializer = programClassPool == null ? null : new WildcardConstantFilter( new ClassReferenceInitializer(programClassPool, libraryClassPool)); }
/** * Finalizes the editing of the class, and initializes all references * of the edited class w.r.t. the given program and library class pool. * At least one of the finishEditing methods should be called before * calling {@link #getProgramClass}. * * @param programClassPool the program class pool * @param libraryClassPool the library class pool */ public void finishEditing(ClassPool programClassPool, ClassPool libraryClassPool) { for (CodeComposer composer : methodComposers) { composer.finishEditing(); } // Initialize all references to/from the edited class. if (superClassName != null) { new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, null, null).visitProgramClass(programClass); new ClassSubHierarchyInitializer().visitProgramClass(programClass); } new ClassReferenceInitializer(programClassPool, libraryClassPool).visitProgramClass(programClass); }
/** * Finalizes the editing of the class, and initializes all references * of the edited class w.r.t. the given program and library class pool. * At least one of the finishEditing methods should be called before * calling {@link #getProgramClass}. * * @param programClassPool the program class pool * @param libraryClassPool the library class pool */ public void finishEditing(ClassPool programClassPool, ClassPool libraryClassPool) { for (CodeComposer composer : methodComposers) { composer.finishEditing(); } // Initialize all references to/from the edited class. if (superClassName != null) { new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, null, null).visitProgramClass(programClass); new ClassSubHierarchyInitializer().visitProgramClass(programClass); } new ClassReferenceInitializer(programClassPool, libraryClassPool).visitProgramClass(programClass); }
/** * Finalizes the editing of the class, and initializes all references * of the edited class w.r.t. the given program and library class pool. * At least one of the finishEditing methods should be called before * calling {@link #getProgramClass}. * * @param programClassPool the program class pool * @param libraryClassPool the library class pool */ public void finishEditing(ClassPool programClassPool, ClassPool libraryClassPool) { for (CodeComposer composer : methodComposers) { composer.finishEditing(); } // Initialize all references to/from the edited class. if (superClassName != null) { new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, null, null).visitProgramClass(programClass); new ClassSubHierarchyInitializer().visitProgramClass(programClass); } new ClassReferenceInitializer(programClassPool, libraryClassPool).visitProgramClass(programClass); }
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassSubHierarchyInitializer(), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassSubHierarchyInitializer(), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassSubHierarchyInitializer(), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
new MultiClassVisitor( new ClassPoolFiller(programClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool), new ClassSubHierarchyInitializer() ));
new MultiClassVisitor( new ClassPoolFiller(programClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool), new ClassSubHierarchyInitializer() ));
new MultiClassVisitor( new ClassPoolFiller(programClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool), new ClassSubHierarchyInitializer() ));
new ClassReferenceInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter, new ClassReferenceInitializer(programClassPool, libraryClassPool, null, new ClassReferenceInitializer(programClassPool, libraryClassPool, null,
new ClassReferenceInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter, new ClassReferenceInitializer(programClassPool, libraryClassPool, null, new ClassReferenceInitializer(programClassPool, libraryClassPool, null,
new MultiClassVisitor( new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
new MultiClassVisitor( new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
new MultiClassVisitor( new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
new ClassReferenceInitializer(programClassPool, libraryClassPool));
new ClassReferenceInitializer(programClassPool, libraryClassPool));
new ClassReferenceInitializer(programClassPool, libraryClassPool));