public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { // Change the referenced class. classConstant.referencedClass = updateReferencedClass(classConstant.referencedClass); }
public void visitClassElementValue(Clazz clazz, Annotation annotation, ClassElementValue classElementValue) { // Change the referenced annotation class and method. visitAnyElementValue(clazz, annotation, classElementValue); // Change the referenced classes. updateReferencedClasses(classElementValue.referencedClasses); }
public void visitAnyElementValue(Clazz clazz, Annotation annotation, ElementValue elementValue) { Clazz referencedClass = elementValue.referencedClass; Clazz newReferencedClass = updateReferencedClass(referencedClass); if (referencedClass != newReferencedClass) { // Change the referenced annotation class. elementValue.referencedClass = newReferencedClass; // Change the referenced method. elementValue.referencedMethod = (Method)updateReferencedMember(elementValue.referencedMethod, elementValue.getMethodName(clazz), null, newReferencedClass); } }
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) { // Change the referenced classes. updateReferencedClasses(libraryMethod.referencedClasses); }
public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue) { // Change the referenced annotation class and method. visitAnyElementValue(clazz, annotation, constantElementValue); }
if (interfaceClass != null && (programClass.equals(interfaceClass) || containsInterfaceClass(programClass, index, interfaceClass))) addNewClassConstant(programClass, programClass.getName(), programClass);
programClassPool.classesAccept(new TargetClassChanger()); programClassPool.classesAccept(new ClassReferenceFixer(true)); programClassPool.classesAccept(new MemberReferenceFixer());
addNewClassConstant(programClass, programClass.getName(), programClass);
public void visitAnyElementValue(Clazz clazz, Annotation annotation, ElementValue elementValue) { Clazz referencedClass = elementValue.referencedClass; Clazz newReferencedClass = updateReferencedClass(referencedClass); if (referencedClass != newReferencedClass) { // Change the referenced annotation class. elementValue.referencedClass = newReferencedClass; // Change the referenced method. elementValue.referencedMethod = (Method)updateReferencedMember(elementValue.referencedMethod, elementValue.getMethodName(clazz), null, newReferencedClass); } }
public void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant) { // Change the referenced classes. updateReferencedClasses(invokeDynamicConstant.referencedClasses); }
public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue) { // Change the referenced annotation class and method. visitAnyElementValue(clazz, annotation, constantElementValue); }
if (interfaceClass != null && (programClass.equals(interfaceClass) || containsInterfaceClass(programClass, index, interfaceClass))) addNewClassConstant(programClass, programClass.getName(), programClass);
programClassPool.classesAccept(new RetargetedClassFilter(null, new TargetClassChanger())); programClassPool.classesAccept(new RetargetedClassFilter(null, new ClassReferenceFixer(true))); programClassPool.classesAccept(new RetargetedClassFilter(null, new MemberReferenceFixer()));
public void visitStringConstant(Clazz clazz, StringConstant stringConstant) { // Does the string refer to a class, due to a Class.forName construct? Clazz referencedClass = stringConstant.referencedClass; Clazz newReferencedClass = updateReferencedClass(referencedClass); if (referencedClass != newReferencedClass) { // Change the referenced class. stringConstant.referencedClass = newReferencedClass; // Change the referenced class member, if applicable. stringConstant.referencedMember = updateReferencedMember(stringConstant.referencedMember, stringConstant.getString(clazz), null, newReferencedClass); } }
public void visitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue) { // Change the referenced annotation class and method. visitAnyElementValue(clazz, annotation, enumConstantElementValue); // Change the referenced classes. updateReferencedClasses(enumConstantElementValue.referencedClasses); }
public void visitLocalVariableTypeInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeInfo localVariableTypeInfo) { // Change the referenced classes. updateReferencedClasses(localVariableTypeInfo.referencedClasses); }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { // Change the referenced class. classConstant.referencedClass = updateReferencedClass(classConstant.referencedClass); }
public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue) { // Change the referenced annotation class and method. visitAnyElementValue(clazz, annotation, constantElementValue); }
if (interfaceClass != null && (programClass.equals(interfaceClass) || containsInterfaceClass(programClass, index, interfaceClass))) addNewClassConstant(programClass, programClass.getName(), programClass);
programClassPool.classesAccept(new RetargetedClassFilter(null, new TargetClassChanger())); programClassPool.classesAccept(new RetargetedClassFilter(null, new ClassReferenceFixer(true))); programClassPool.classesAccept(new RetargetedClassFilter(null, new MemberReferenceFixer()));