/** * Returns the method/field name. */ public String getName(Clazz clazz) { return clazz.getName(u2nameAndTypeIndex); }
/** * Adds the given Clazz to the class pool. */ public void addClass(Clazz clazz) { classes.put(clazz.getName(), clazz); }
/** * Removes the given Clazz from the class pool. */ public void removeClass(Clazz clazz) { classes.remove(clazz.getName()); }
private void debug(Clazz clazz, StringConstant stringConstant, Clazz referencedClass, Member referencedMember) { System.out.println("MemberReferenceFixer:"); System.out.println(" Class file = "+clazz.getName()); System.out.println(" Ref class = "+referencedClass.getName()); System.out.println(" Ref member name = "+stringConstant.getString(clazz)); System.out.println(" -> "+referencedMember.getName(referencedClass)); }
public void visitStringConstant(Clazz clazz, StringConstant stringConstant) { // Fill out the String class. stringConstant.javaLangStringClass = findClass(clazz.getName(), ClassConstants.INTERNAL_NAME_JAVA_LANG_STRING); }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { Clazz referencedClass = classConstant.referencedClass; if (referencedClass != null) { // Put the actual class's name string in the class pool. name = referencedClass.getName(); clazz.constantPoolEntryAccept(classConstant.u2nameIndex, this); } }
/** * Finds or creates a ClassConstant constant pool entry for the given class. * @return the constant pool index of the ClassConstant. */ public int addClassConstant(Clazz referencedClass) { return addClassConstant(referencedClass.getName(), referencedClass); }
public void visitAnyClass(Clazz clazz) { System.out.println(" Maybe you meant the fully qualified name '" + ClassUtil.externalClassName(clazz.getName()) + "'?"); } }
public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute) { signatureAttribute.referencedClasses = findReferencedClasses(clazz.getName(), clazz.getString(signatureAttribute.u2signatureIndex)); }
public void visitLocalVariableTypeInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeInfo localVariableTypeInfo) { localVariableTypeInfo.referencedClasses = findReferencedClasses(clazz.getName(), clazz.getString(localVariableTypeInfo.u2signatureIndex)); }
public void visitAnnotation(Clazz clazz, Annotation annotation) { annotation.referencedClasses = findReferencedClasses(clazz.getName(), clazz.getString(annotation.u2typeIndex)); // Initialize the element values. annotation.elementValuesAccept(clazz, this); }
public void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute) { // Make sure the enclosing class has a name. enclosingMethodAttribute.referencedClassAccept(this); String innerClassName = clazz.getName(); String outerClassName = clazz.getClassName(enclosingMethodAttribute.u2classIndex); numericClassName = isNumericClassName(innerClassName, outerClassName); }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { String className = clazz.getName(); // Fill out the referenced class. classConstant.referencedClass = findClass(className, classConstant.getName(clazz)); // Fill out the Class class. classConstant.javaLangClassClass = findClass(className, ClassConstants.INTERNAL_NAME_JAVA_LANG_CLASS); }
public InstructionSequenceBuilder getstatic(Clazz referencedClass, Member referencedMember) { return getstatic(referencedClass.getName(), referencedMember.getName(referencedClass), referencedMember.getDescriptor(referencedClass), referencedClass, referencedMember); }
public InstructionSequenceBuilder invokespecial(Clazz referencedClass, Member referencedMember) { return invokespecial(referencedClass.getName(), referencedMember.getName(referencedClass), referencedMember.getDescriptor(referencedClass), referencedClass, referencedMember); }
public CompactCodeAttributeComposer invokestatic(Clazz referencedClass, Member referencedMember) { return invokestatic(referencedClass.getName(), referencedMember.getName(referencedClass), referencedMember.getDescriptor(referencedClass), referencedClass, referencedMember); }
public void visitFieldrefConstant(Clazz clazz, FieldrefConstant fieldrefConstant) { println(visitorInfo(fieldrefConstant) + " Fieldref [" + clazz.getClassName(fieldrefConstant.u2classIndex) + "." + clazz.getName(fieldrefConstant.u2nameAndTypeIndex) + " " + clazz.getType(fieldrefConstant.u2nameAndTypeIndex) + "]"); }
public void visitMethodrefConstant(Clazz clazz, MethodrefConstant methodrefConstant) { println(visitorInfo(methodrefConstant) + " Methodref [" + clazz.getClassName(methodrefConstant.u2classIndex) + "." + clazz.getName(methodrefConstant.u2nameAndTypeIndex) + " " + clazz.getType(methodrefConstant.u2nameAndTypeIndex) + "]"); }
public void visitInterfaceMethodrefConstant(Clazz clazz, InterfaceMethodrefConstant interfaceMethodrefConstant) { println(visitorInfo(interfaceMethodrefConstant) + " InterfaceMethodref [" + clazz.getClassName(interfaceMethodrefConstant.u2classIndex) + "." + clazz.getName(interfaceMethodrefConstant.u2nameAndTypeIndex) + " " + clazz.getType(interfaceMethodrefConstant.u2nameAndTypeIndex) + "]"); }
public void visitMethodrefConstant(Clazz clazz, MethodrefConstant methodrefConstant) { println(visitorInfo(methodrefConstant) + " Methodref [" + clazz.getClassName(methodrefConstant.u2classIndex) + "." + clazz.getName(methodrefConstant.u2nameAndTypeIndex) + " " + clazz.getType(methodrefConstant.u2nameAndTypeIndex) + "]"); }