@Override public MethodVisitor visitMethod(final int access, final String name, final String desc, final String signature, final String[] exceptions) { MethodNode mn = new MethodNode(access, name, desc, signature, exceptions); methods.add(mn); return mn; }
public void consumeInstanceMethods(Consumer<MethodNode> consumer) { for (MethodNode methodNode : this.classNode.methods) { if ((methodNode.access & Opcodes.ACC_STATIC) == 0) { String[] exceptions = null; if (methodNode.exceptions != null) { exceptions = methodNode.exceptions.toArray( new String[methodNode.exceptions.size()] ); } MethodNode clonedMethodNode = new MethodNode( Opcodes.ASM5, methodNode.access, methodNode.name, methodNode.desc, methodNode.signature, exceptions ); consumer.accept(clonedMethodNode); } } }
name, desc, new MethodNode(Opcodes.ASM5, access, name, desc, signature, exceptions) ); this.finalMv = mv;
protected static MethodNode createMethodNode( int access, String name, String desc, String signature, List<String> exceptions) { MethodNode methodNode = new MethodNode(Opcodes.ASM5); methodNode.access = access; methodNode.name = name; methodNode.desc = desc; methodNode.signature = signature; methodNode.exceptions = exceptions != null ? new ArrayList<String>() : new ArrayList<String>(); methodNode.localVariables = new ArrayList<LocalVariableNode>(); methodNode.tryCatchBlocks = new ArrayList<TryCatchBlockNode>(); return methodNode; }
protected static MethodNode createMethodNode( int access, String name, String desc, String signatrue, String ... exceptions) { ArrayList<String> exceptionList = new ArrayList<String>(); for (String exception : exceptions) { exceptionList.add(exception); } MethodNode methodNode = new MethodNode(Opcodes.ASM5); methodNode.access = access; methodNode.name = name; methodNode.desc = desc; methodNode.signature = signatrue; methodNode.exceptions = exceptionList; methodNode.tryCatchBlocks = new ArrayList<TryCatchBlockNode>(); methodNode.localVariables = new ArrayList<LocalVariableNode>(); return methodNode; }
targetPackage)) { if (!ClassEnhancer.this.hideConstructor(methodEntry.constructor)) { MethodNode newMethodNode = new MethodNode(Opcodes.ASM5); newMethodNode.access = methodNode.access; newMethodNode.name = "<init>"; MethodNode clinitNode = new MethodNode(Opcodes.ASM5); clinitNode.access = Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC; clinitNode.name = "<clinit>";
LabelNode catchLabelNode = new LabelNode(new Label()); MethodNode methodNode = new MethodNode(Opcodes.ASM5); methodNode.access = Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC; methodNode.name = getFieldGetterName(fieldEntry);
LabelNode catchLabelNode = new LabelNode(new Label()); MethodNode methodNode = new MethodNode(Opcodes.ASM5); methodNode.access = Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC; methodNode.name = getFieldSetterName(fieldEntry);
MethodNode newMethodNode = new MethodNode(Opcodes.ASM5); newMethodNode.access = methodNode.access; newMethodNode.name = methodName;
LabelNode catchInvocationTargetLabelNode = new LabelNode(new Label()); MethodNode methodNode = new MethodNode(Opcodes.ASM5); methodNode.access = Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC; methodNode.name = this.getMethodInvocationName(methodEntry);