Module org.eclipse.persistence.asm
Class JSRInlinerAdapter
java.lang.Object
org.eclipse.persistence.internal.libraries.asm.MethodVisitor
org.eclipse.persistence.internal.libraries.asm.tree.MethodNode
org.eclipse.persistence.internal.libraries.asm.commons.JSRInlinerAdapter
- All Implemented Interfaces:
- Opcodes
A 
MethodVisitor that removes JSR instructions and inlines the
 referenced subroutines.- 
Field SummaryFields inherited from class org.eclipse.persistence.internal.libraries.asm.tree.MethodNodeaccess, annotationDefault, attrs, desc, exceptions, instructions, invisibleAnnotableParameterCount, invisibleAnnotations, invisibleLocalVariableAnnotations, invisibleParameterAnnotations, invisibleTypeAnnotations, localVariables, maxLocals, maxStack, name, parameters, signature, tryCatchBlocks, visibleAnnotableParameterCount, visibleAnnotations, visibleLocalVariableAnnotations, visibleParameterAnnotations, visibleTypeAnnotationsFields inherited from class org.eclipse.persistence.internal.libraries.asm.MethodVisitorapi, mvFields inherited from interface org.eclipse.persistence.internal.libraries.asm.OpcodesAALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V9
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedJSRInlinerAdapter(int api, MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions) Constructs a newJSRInlinerAdapter.JSRInlinerAdapter(MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions) Constructs a newJSRInlinerAdapter.
- 
Method SummaryModifier and TypeMethodDescriptionvoidvisitEnd()Visits the end of the method.voidvisitJumpInsn(int opcode, Label label) Visits a jump instruction.Methods inherited from class org.eclipse.persistence.internal.libraries.asm.tree.MethodNodeaccept, accept, check, getLabelNode, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsnMethods inherited from class org.eclipse.persistence.internal.libraries.asm.MethodVisitorgetDelegate, visitMethodInsn
- 
Constructor Details- 
JSRInlinerAdapterpublic JSRInlinerAdapter(MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions) Constructs a newJSRInlinerAdapter. Subclasses must not use this constructor. Instead, they must use theJSRInlinerAdapter(int, MethodVisitor, int, String, String, String, String[])version.- Parameters:
- methodVisitor- the method visitor to send the resulting inlined method code to, or- null.
- access- the method's access flags.
- name- the method's name.
- descriptor- the method's descriptor.
- signature- the method's signature. May be null.
- exceptions- the internal names of the method's exception classes (see- Type.getInternalName()). May be null.
- Throws:
- IllegalStateException- if a subclass calls this constructor.
 
- 
JSRInlinerAdapterprotected JSRInlinerAdapter(int api, MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions) Constructs a newJSRInlinerAdapter.- Parameters:
- api- the ASM API version implemented by this visitor. Must be one of the- ASMx values in- Opcodes.
- methodVisitor- the method visitor to send the resulting inlined method code to, or- null.
- access- the method's access flags (see- Opcodes). This parameter also indicates if the method is synthetic and/or deprecated.
- name- the method's name.
- descriptor- the method's descriptor.
- signature- the method's signature. May be null.
- exceptions- the internal names of the method's exception classes (see- Type.getInternalName()). May be null.
 
 
- 
- 
Method Details- 
visitJumpInsnDescription copied from class:MethodVisitorVisits a jump instruction. A jump instruction is an instruction that may jump to another instruction.- Overrides:
- visitJumpInsnin class- MethodNode
- Parameters:
- opcode- the opcode of the type instruction to be visited. This opcode is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ, IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ, IF_ACMPNE, GOTO, JSR, IFNULL or IFNONNULL.
- label- the operand of the instruction to be visited. This operand is a label that designates the instruction to which the jump instruction may jump.
 
- 
visitEndpublic void visitEnd()Description copied from class:MethodVisitorVisits the end of the method. This method, which is the last one to be called, is used to inform the visitor that all the annotations and attributes of the method have been visited.- Overrides:
- visitEndin class- MethodNode
 
 
-