public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { // Do we know the referenced class? Clazz referencedClass = classConstant.referencedClass; if (referencedClass != null) { // Has the class name changed? String className = classConstant.getName(clazz); String newClassName = newClassName(className, referencedClass); if (!className.equals(newClassName)) { // Refer to a new Utf8 entry. classConstant.u2nameIndex = new ConstantPoolEditor((ProgramClass)clazz).addUtf8Constant(newClassName); } } }
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) { // Has the descriptor changed? String descriptor = libraryMethod.getDescriptor(libraryClass); String newDescriptor = newDescriptor(descriptor, libraryMethod.referencedClasses); if (!descriptor.equals(newDescriptor)) { // Update the descriptor. libraryMethod.descriptor = newDescriptor; } }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { // Has the descriptor changed? String descriptor = programField.getDescriptor(programClass); String newDescriptor = newDescriptor(descriptor, programField.referencedClass); if (!descriptor.equals(newDescriptor)) { ConstantPoolEditor constantPoolEditor = new ConstantPoolEditor(programClass); // Update the descriptor. programField.u2descriptorIndex = constantPoolEditor.addUtf8Constant(newDescriptor); // Update the name, if requested. if (ensureUniqueMemberNames) { String name = programField.getName(programClass); String newName = newUniqueMemberName(name, descriptor); programField.u2nameIndex = constantPoolEditor.addUtf8Constant(newName); } } // Fix the attributes. programField.attributesAccept(programClass, this); }
programClassPool.classesAccept(new ClassReferenceFixer(false)); libraryClassPool.classesAccept(new ClassReferenceFixer(false)); programClassPool.classesAccept(new MemberReferenceFixer());
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Has the descriptor changed? String descriptor = programMethod.getDescriptor(programClass); String newDescriptor = newDescriptor(descriptor, programMethod.referencedClasses); if (!descriptor.equals(newDescriptor)) { ConstantPoolEditor constantPoolEditor = new ConstantPoolEditor(programClass); // Update the descriptor. programMethod.u2descriptorIndex = constantPoolEditor.addUtf8Constant(newDescriptor); // Update the name, if requested. if (ensureUniqueMemberNames) { String name = programMethod.getName(programClass); String newName = newUniqueMemberName(name, descriptor); programMethod.u2nameIndex = constantPoolEditor.addUtf8Constant(newName); } } // Fix the attributes. programMethod.attributesAccept(programClass, this); }
programClassPool.classesAccept(new ClassReferenceFixer(false)); libraryClassPool.classesAccept(new ClassReferenceFixer(false)); programClassPool.classesAccept(new MemberReferenceFixer());
public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField) { // Has the descriptor changed? String descriptor = libraryField.getDescriptor(libraryClass); String newDescriptor = newDescriptor(descriptor, libraryField.referencedClass); // Update the descriptor. libraryField.descriptor = newDescriptor; }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Has the descriptor changed? String descriptor = programMethod.getDescriptor(programClass); String newDescriptor = newDescriptor(descriptor, programMethod.referencedClasses); if (!descriptor.equals(newDescriptor)) { ConstantPoolEditor constantPoolEditor = new ConstantPoolEditor(programClass); // Update the descriptor. programMethod.u2descriptorIndex = constantPoolEditor.addUtf8Constant(newDescriptor); // Update the name, if requested. if (ensureUniqueMemberNames) { String name = programMethod.getName(programClass); String newName = newUniqueMemberName(name, descriptor); programMethod.u2nameIndex = constantPoolEditor.addUtf8Constant(newName); } } // Fix the attributes. programMethod.attributesAccept(programClass, this); }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { // Do we know the referenced class? Clazz referencedClass = classConstant.referencedClass; if (referencedClass != null) { // Has the class name changed? String className = classConstant.getName(clazz); String newClassName = newClassName(className, referencedClass); if (!className.equals(newClassName)) { // Refer to a new Utf8 entry. classConstant.u2nameIndex = new ConstantPoolEditor((ProgramClass)clazz).addUtf8Constant(newClassName); } } }
programClassPool.classesAccept(new ClassReferenceFixer(false)); libraryClassPool.classesAccept(new ClassReferenceFixer(false)); programClassPool.classesAccept(new MemberReferenceFixer());
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) { // Has the descriptor changed? String descriptor = libraryMethod.getDescriptor(libraryClass); String newDescriptor = newDescriptor(descriptor, libraryMethod.referencedClasses); // Update the descriptor. libraryMethod.descriptor = newDescriptor; }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Has the descriptor changed? String descriptor = programMethod.getDescriptor(programClass); String newDescriptor = newDescriptor(descriptor, programMethod.referencedClasses); if (!descriptor.equals(newDescriptor)) { ConstantPoolEditor constantPoolEditor = new ConstantPoolEditor(programClass); // Update the descriptor. programMethod.u2descriptorIndex = constantPoolEditor.addUtf8Constant(newDescriptor); // Update the name, if requested. if (ensureUniqueMemberNames) { String name = programMethod.getName(programClass); String newName = newUniqueMemberName(name, descriptor); programMethod.u2nameIndex = constantPoolEditor.addUtf8Constant(newName); } } // Fix the attributes. programMethod.attributesAccept(programClass, this); }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { // Do we know the referenced class? Clazz referencedClass = classConstant.referencedClass; if (referencedClass != null) { // Has the class name changed? String className = classConstant.getName(clazz); String newClassName = newClassName(className, referencedClass); if (!className.equals(newClassName)) { // Refer to a new Utf8 entry. classConstant.u2nameIndex = new ConstantPoolEditor((ProgramClass)clazz).addUtf8Constant(newClassName); } } }
programClassPool.classesAccept(new ClassReferenceFixer(false)); libraryClassPool.classesAccept(new ClassReferenceFixer(false)); programClassPool.classesAccept(new MemberReferenceFixer());
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) { // Has the descriptor changed? String descriptor = libraryMethod.getDescriptor(libraryClass); String newDescriptor = newDescriptor(descriptor, libraryMethod.referencedClasses); if (!descriptor.equals(newDescriptor)) { // Update the descriptor. libraryMethod.descriptor = newDescriptor; } }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { // Has the descriptor changed? String descriptor = programField.getDescriptor(programClass); String newDescriptor = newDescriptor(descriptor, programField.referencedClass); if (!descriptor.equals(newDescriptor)) { ConstantPoolEditor constantPoolEditor = new ConstantPoolEditor(programClass); // Update the descriptor. programField.u2descriptorIndex = constantPoolEditor.addUtf8Constant(newDescriptor); // Update the name, if requested. if (ensureUniqueMemberNames) { String name = programField.getName(programClass); String newName = newUniqueMemberName(name, descriptor); programField.u2nameIndex = constantPoolEditor.addUtf8Constant(newName); } } // Fix the attributes. programField.attributesAccept(programClass, this); }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { // Do we know the referenced class? Clazz referencedClass = classConstant.referencedClass; if (referencedClass != null) { // Has the class name changed? String className = classConstant.getName(clazz); String newClassName = newClassName(className, referencedClass); if (!className.equals(newClassName)) { // Refer to a new Utf8 entry. classConstant.u2nameIndex = new ConstantPoolEditor((ProgramClass)clazz).addUtf8Constant(newClassName); } } }
programClassPool.classesAccept(new ClassReferenceFixer(true)); programClassPool.classesAccept(new MemberReferenceFixer());
public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField) { // Has the descriptor changed? String descriptor = libraryField.getDescriptor(libraryClass); String newDescriptor = newDescriptor(descriptor, libraryField.referencedClass); // Update the descriptor. libraryField.descriptor = newDescriptor; }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Has the descriptor changed? String descriptor = programMethod.getDescriptor(programClass); String newDescriptor = newDescriptor(descriptor, programMethod.referencedClasses); if (!descriptor.equals(newDescriptor)) { ConstantPoolEditor constantPoolEditor = new ConstantPoolEditor(programClass); // Update the descriptor. programMethod.u2descriptorIndex = constantPoolEditor.addUtf8Constant(newDescriptor); // Update the name, if requested. if (ensureUniqueMemberNames) { String name = programMethod.getName(programClass); String newName = newUniqueMemberName(name, descriptor); programMethod.u2nameIndex = constantPoolEditor.addUtf8Constant(newName); } } // Fix the attributes. programMethod.attributesAccept(programClass, this); }