public void methodsAccept(MemberVisitor memberVisitor) { for (int index = 0; index < u2methodsCount; index++) { methods[index].accept(this, memberVisitor); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { programMethod.referencedClasses = findReferencedClasses(programClass, programMethod.getDescriptor(programClass)); // Initialize the attributes. programMethod.attributesAccept(programClass, this); }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { obfuscatedMethods |= (programMethod.getAccessFlags() & ClassConstants.ACC_RENAMED) != 0; }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if ((programMethod.getAccessFlags() & ClassConstants.ACC_BRIDGE) != 0) { programMethod.attributesAccept(programClass, this); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (isSimpleEnum(programClass) && isUnsupportedMethod(programMethod.getName(programClass), programMethod.getDescriptor(programClass))) { if (DEBUG) { System.out.println("SimpleEnumUseChecker: invocation of ["+programClass.getName()+"."+programMethod.getName(programClass)+programMethod.getDescriptor(programClass)+"]"); } complexEnumMarker.visitProgramClass(programClass); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) String name = programMethod.getName(programClass); String descriptor = programMethod.getDescriptor(programClass); int accessFlags = programMethod.getAccessFlags(); int targetAccessFlags = targetMethod.getAccessFlags(); if ((targetAccessFlags & ClassConstants.INTERNAL_ACC_ABSTRACT) != 0) programMethod.attributesAccept(programClass, new AttributeAdder(targetClass, targetMethod, new ProgramMethod(accessFlags & ~ClassConstants.INTERNAL_ACC_FINAL, constantAdder.addConstant(programClass, programMethod.u2nameIndex), constantAdder.addConstant(programClass, programMethod.u2descriptorIndex), newProgramMethod.setVisitorInfo(programMethod); programMethod.attributesAccept(programClass, new AttributeAdder(targetClass, newProgramMethod,
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (visitThisMethod) { programMethod.accept(programClass, memberVisitor); } if (!isSpecial(programClass, programMethod)) { programClass.hierarchyAccept(false, visitSuperMethods, visitInterfaceMethods, visitOverridingMethods, new NamedMethodVisitor(programMethod.getName(programClass), programMethod.getDescriptor(programClass), new MemberAccessFilter(0, ClassConstants.ACC_PRIVATE | ClassConstants.ACC_STATIC, memberVisitor))); } }
protected void markProgramMethodBody(ProgramClass programClass, ProgramMethod programMethod) { // Mark the name and descriptor. markConstant(programClass, programMethod.u2nameIndex); markConstant(programClass, programMethod.u2descriptorIndex); // Mark the attributes. programMethod.attributesAccept(programClass, this); // Mark the classes referenced in the descriptor string. programMethod.referencedClassesAccept(this); }
@Override public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { programMethod.attributesAccept(programClass, this); }
/** * Adds a new method to the edited class. The returned composer can be used * to attach code to the method. * * @param u2accessFlags acces flags for the new method. * @param methodName name of the new method. * @param methodDescriptor descriptor of the new method. * @param referencedClasses the classes referenced by the method descriptor. * @param maxCodeFragmentLength maximum length for the code fragment of the * new method. * * @return the composer for adding code to the created method. */ public CompactCodeAttributeComposer addMethod(int u2accessFlags, String methodName, String methodDescriptor, Clazz[] referencedClasses, int maxCodeFragmentLength) { ProgramMethod method = new ProgramMethod(u2accessFlags, constantPoolEditor.addUtf8Constant(methodName), constantPoolEditor.addUtf8Constant(methodDescriptor), referencedClasses); CodeComposer composer = new CodeComposer(method, maxCodeFragmentLength); methodComposers.add(composer); return composer; }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Special cases: <clinit> and <init> are always kept unchanged. // We can ignore them here. String name = programMethod.getName(programClass); if (name.equals(ClassConstants.INTERNAL_METHOD_NAME_CLINIT) || name.equals(ClassConstants.INTERNAL_METHOD_NAME_INIT)) { return; } visitMember(programClass, programMethod, false); }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { hasBeenFixed = !descriptor.equals(programMethod.getDescriptor(programClass)); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) String name = programMethod.getName(programClass); String descriptor = programMethod.getDescriptor(programClass); int accessFlags = programMethod.getAccessFlags(); int targetAccessFlags = targetMethod.getAccessFlags(); if ((targetAccessFlags & ClassConstants.ACC_ABSTRACT) != 0) programMethod.attributesAccept(programClass, new AttributeAdder(targetClass, targetMethod, new ProgramMethod(accessFlags & ~ClassConstants.ACC_FINAL, constantPoolEditor.addUtf8Constant(name), constantPoolEditor.addUtf8Constant(descriptor), newProgramMethod.setVisitorInfo(programMethod); programMethod.attributesAccept(programClass, new AttributeAdder(targetClass, newProgramMethod,
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (visitThisMethod) { programMethod.accept(programClass, memberVisitor); } if (!isSpecial(programClass, programMethod)) { programClass.hierarchyAccept(false, visitSuperMethods, visitInterfaceMethods, visitOverridingMethods, new NamedMethodVisitor(programMethod.getName(programClass), programMethod.getDescriptor(programClass), new MemberAccessFilter(0, ClassConstants.INTERNAL_ACC_PRIVATE | ClassConstants.INTERNAL_ACC_STATIC, memberVisitor))); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { System.out.println(" Maybe you meant the method '" + ClassUtil.externalFullMethodDescription(programClass.getName(), 0, programMethod.getName(programClass), programMethod.getDescriptor(programClass)) + "'?"); } }
protected void markProgramMethodBody(ProgramClass programClass, ProgramMethod programMethod) { // Mark the name and descriptor. markConstant(programClass, programMethod.u2nameIndex); markConstant(programClass, programMethod.u2descriptorIndex); // Mark the attributes. programMethod.attributesAccept(programClass, this); // Mark the classes referenced in the descriptor string. programMethod.referencedClassesAccept(this); }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if ((programMethod.getAccessFlags() & ClassConstants.ACC_BRIDGE) != 0) { programMethod.attributesAccept(programClass, this); } }
@Override public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { programMethod.attributesAccept(programClass, this); }
/** * Adds a new method to the edited class. The returned composer can be used * to attach code to the method. * * @param u2accessFlags acces flags for the new method. * @param methodName name of the new method. * @param methodDescriptor descriptor of the new method. * @param referencedClasses the classes referenced by the method descriptor. * @param maxCodeFragmentLength maximum length for the code fragment of the * new method. * * @return the composer for adding code to the created method. */ public CompactCodeAttributeComposer addMethod(int u2accessFlags, String methodName, String methodDescriptor, Clazz[] referencedClasses, int maxCodeFragmentLength) { ProgramMethod method = new ProgramMethod(u2accessFlags, constantPoolEditor.addUtf8Constant(methodName), constantPoolEditor.addUtf8Constant(methodDescriptor), referencedClasses); CodeComposer composer = new CodeComposer(method, maxCodeFragmentLength); methodComposers.add(composer); return composer; }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (accepted(programMethod.getName(programClass))) { memberVisitor.visitProgramMethod(programClass, programMethod); } }