public MethodVisitor visitMethod(int arg, String name, String descriptor, String signature, String[] exceptions) { if (Manager.isIgnoreGetSetMethod()) { if (fieldNameList.contains(name)) { return super.visitMethod(arg, name, descriptor, signature, exceptions); } } // 静态区域不注入 if ("<clinit>".equals(name)) { return super.visitMethod(arg, name, descriptor, signature, exceptions); } MethodVisitor mv = super.visitMethod(arg, name, descriptor, signature, exceptions); MethodAdapter ma = new ProfMethodAdapter(mv, mFileName, mClassName, name); return ma; }
public MethodVisitor visitMethod(int access, final String name, final String desc, final String signature, final String[] exceptions) { for ( String method : DEFINALIZE_LIST ) { if ( name.equals(method) ) { access &= ~ACC_FINAL; break; } } return super.visitMethod(access, name, desc, signature, exceptions); } };
private void generateSizeofGetter() { MethodVisitor mv = super.visitMethod(ACC_PUBLIC, SIZEOF_METHOD_NAME, "()I", null, null); mv.visitCode(); mv.visitFieldInsn(GETSTATIC, className, "SIZEOF", "I"); mv.visitInsn(IRETURN); mv.visitMaxs(1, 1); mv.visitEnd(); }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions); return new RemoveSystemExitMethodNode(access, signature, signature, signature, exceptions, mv); }
public MethodVisitor visitMethod(int methodAccess, String name, String descriptor, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(methodAccess, name, descriptor, signature, exceptions); if (!exclude) { mv = new CoverageMethodAdapter(mv, className, name, descriptor, classAccess, methodAccess); } return mv; }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { actualAdapter = new PossibilitiesRicMethodAdapter(super.visitMethod( access, name, desc, signature, exceptions), className, name, mutationPossibilityCollector, possibilities, desc); return actualAdapter; }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { return new ArithmeticReplaceMethodAdapter(super.visitMethod(access, name, desc, signature, exceptions), className, name, possibilities, mm, desc); }
private void generateAlignGetter(final MappedSubtypeInfo mappedSubtype) { MethodVisitor mv = super.visitMethod(ACC_PUBLIC, ALIGN_METHOD_NAME, "()I", null, null); mv.visitCode(); visitIntNode(mv, mappedSubtype.sizeof); mv.visitInsn(IRETURN); mv.visitMaxs(1, 1); mv.visitEnd(); }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions); return new JSRInlinerAdapter(mv, access, name, desc, signature, exceptions); } }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { return new XtextMethodAdapter(this, super.visitMethod(access, name, desc, signature, exceptions)); }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { return new AbsoluteValueMethodAdapter(super.visitMethod(access, name, desc, signature, exceptions), className, name, possibilities, mm, desc); }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { return new MonitorRemovePossibilitiesMethodAdapter(super.visitMethod( access, name, desc, signature, exceptions), className, name, mutationPossibilityCollector, possibilities, desc); }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { return new PossibilitiesArithmeticReplaceMethodAdapter(super .visitMethod(access, name, desc, signature, exceptions), className, name, mutationPossibilityCollector, possibilities, desc); } }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { // String lastMethodName = name; MethodVisitor superVisitor = super.visitMethod(access, name, desc, signature, exceptions); MethodVisitor actualAdapter = new NegateJumpsMethodAdapter( superVisitor, className, name, possibilities, mm, desc); return actualAdapter; }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions); return new SystemExitFinderMethodAdapter(mv, this); }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions); return new DistanceMethodAdapter(mv, className, name, desc, connectionData); } }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { // String lastMethodName = name; MethodVisitor superVisitor = super.visitMethod(access, name, desc, signature, exceptions); MethodVisitor actualAdapter = new NegateJumpsPossibilitiesMethodAdapter( superVisitor, className, name, mpc, possibilities, desc); return actualAdapter; }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { return new MonitorRemoveMethodAdapter(super.visitMethod(access, name, desc, signature, exceptions), className, name, possibilities, new MutationManager(), desc); }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions); return new ReplaceThreadCallsPossibilitiesMethodAdapter( new ReplaceAdviceAdapter(mv, access, name, desc), className, name, mpc, possibilityMap, desc); } }
@Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions); return new RemoveCallsPossibilitiesMethodAdapter(new MyAdviceAdapter( mv, access, name, desc), className, name, mpc, possibilityMap, desc); } }