Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

B32476-03

oracle.toplink.libraries.asm.tree.analysis
Class Analyzer

java.lang.Object
  extended by oracle.toplink.libraries.asm.tree.analysis.Analyzer
All Implemented Interfaces:
Constants

public class Analyzer
extends java.lang.Object
implements Constants

A semantic bytecode analyzer.


Field Summary
 
Fields inherited from interface oracle.toplink.libraries.asm.Constants
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, 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, 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, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, V1_1, V1_2, V1_3, V1_4, V1_5
 
Constructor Summary
Analyzer(Interpreter interpreter)
          Constructs a new Analyzer.
 
Method Summary
 Frame[] analyze(ClassNode c, MethodNode m)
          Analyzes the given method.
 Frame[] getFrames()
          Returns the symbolic stack frame for each instruction of the last recently analyzed method.
 java.util.List getHandlers(int insn)
          Returns the exception handlers for the given instruction.
 int getIndex(java.lang.Object insn)
          Returns the index of the given instruction.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Analyzer

public Analyzer(Interpreter interpreter)
Constructs a new Analyzer.

Parameters:
interpreter - the interpreter to be used to symbolically interpret the bytecode instructions.
Method Detail

analyze

public Frame[] analyze(ClassNode c,
                       MethodNode m)
                throws AnalyzerException
Analyzes the given method.

Parameters:
c - the class to which the method belongs.
m - the method to be analyzed.
Returns:
the symbolic state of the execution stack frame at each bytecode instruction of the method. The size of the returned array is equal to the number of instructions (and labels) of the method. A given frame is null if and only if the corresponding instruction cannot be reached (dead code).
Throws:
AnalyzerException - if a problem occurs during the analysis.

getFrames

public Frame[] getFrames()
Returns the symbolic stack frame for each instruction of the last recently analyzed method.

Returns:
the symbolic state of the execution stack frame at each bytecode instruction of the method. The size of the returned array is equal to the number of instructions (and labels) of the method. A given frame is null if the corresponding instruction cannot be reached, or if an error occured during the analysis of the method.

getIndex

public int getIndex(java.lang.Object insn)
Returns the index of the given instruction.

Parameters:
insn - a Label or AbstractInsnNode of the last recently analyzed method.
Returns:
the index of the given instruction of the last recently analyzed method.

getHandlers

public java.util.List getHandlers(int insn)
Returns the exception handlers for the given instruction.

Parameters:
insn - the index of an instruction of the last recently analyzed method.
Returns:
a list of TryCatchBlockNode objects.

Copyright © 1998, 2010, Oracle. All Rights Reserved.