/** * 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); }
public void visitLibraryClass(LibraryClass libraryClass) { String className = libraryClass.getName(); // Link to the super class. String superClassName = libraryClass.superClassName; if (superClassName != null) { // Keep a reference to the superclass. libraryClass.superClass = findClass(className, superClassName); } // Link to the interfaces. if (libraryClass.interfaceNames != null) { String[] interfaceNames = libraryClass.interfaceNames; Clazz[] interfaceClasses = new Clazz[interfaceNames.length]; for (int index = 0; index < interfaceNames.length; index++) { // Keep a reference to the interface class. interfaceClasses[index] = findClass(className, interfaceNames[index]); } libraryClass.interfaceClasses = interfaceClasses; } }
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)
/** * 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); }
public void visitLibraryClass(LibraryClass libraryClass) { String className = libraryClass.getName(); // Link to the super class. String superClassName = libraryClass.superClassName; if (superClassName != null) { // Keep a reference to the superclass. libraryClass.superClass = findClass(className, superClassName); } // Link to the interfaces. if (libraryClass.interfaceNames != null) { String[] interfaceNames = libraryClass.interfaceNames; Clazz[] interfaceClasses = new Clazz[interfaceNames.length]; for (int index = 0; index < interfaceNames.length; index++) { // Keep a reference to the interface class. interfaceClasses[index] = findClass(className, interfaceNames[index]); } libraryClass.interfaceClasses = interfaceClasses; } }
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, null, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter,
/** * 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); }
public void visitLibraryClass(LibraryClass libraryClass) { String className = libraryClass.getName(); // Link to the super class. String superClassName = libraryClass.superClassName; if (superClassName != null) { // Keep a reference to the superclass. libraryClass.superClass = findClass(className, superClassName); } // Link to the interfaces. if (libraryClass.interfaceNames != null) { String[] interfaceNames = libraryClass.interfaceNames; Clazz[] interfaceClasses = new Clazz[interfaceNames.length]; for (int index = 0; index < interfaceNames.length; index++) { // Keep a reference to the interface class. interfaceClasses[index] = findClass(className, interfaceNames[index]); } libraryClass.interfaceClasses = interfaceClasses; } }
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, null, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter,
public void visitLibraryClass(LibraryClass libraryClass) { String className = libraryClass.getName(); // Link to the super class. String superClassName = libraryClass.superClassName; if (superClassName != null) { // Keep a reference to the superclass. libraryClass.superClass = findClass(className, superClassName); } // Link to the interfaces. if (libraryClass.interfaceNames != null) { String[] interfaceNames = libraryClass.interfaceNames; Clazz[] interfaceClasses = new Clazz[interfaceNames.length]; for (int index = 0; index < interfaceNames.length; index++) { // Keep a reference to the interface class. interfaceClasses[index] = findClass(className, interfaceNames[index]); } libraryClass.interfaceClasses = interfaceClasses; } // Discard the name Strings. From now on, we'll use the object // references. libraryClass.superClassName = null; libraryClass.interfaceNames = null; }
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, null, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter,
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { classConstant.referencedClass = findClass(clazz.getName(), classConstant.getName(clazz)); }
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, null, new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool, classReferenceWarningPrinter,
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { classConstant.referencedClass = findClass(clazz.getName(), classConstant.getName(clazz)); }
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { classConstant.referencedClass = findClass(clazz.getName(), classConstant.getName(clazz)); }
new ClassSuperHierarchyInitializer(programClassPool, libraryClassPool), new ClassReferenceInitializer(programClassPool, libraryClassPool) ));
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { classConstant.referencedClass = findClass(clazz.getName(), classConstant.getName(clazz)); }