Package com.ibm.wala.shrike.shrikeBT
Class Compiler.Output
- java.lang.Object
-
- com.ibm.wala.shrike.shrikeBT.Compiler.Output
-
- Enclosing class:
- Compiler
public static final class Compiler.Output extends java.lang.ObjectThis class represents a method generated by a Compiler. One input method to the Compiler can generate multiple Outputs (if the input method is too big to be represented by a single method in the JVM, say if it requires more than 64K bytecodes).
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetAccessFlags()byte[]getCode()int[]getInstructionOffsets()intgetMaxLocals()intgetMaxStack()java.lang.StringgetMethodName()java.lang.StringgetMethodSignature()int[]getNewBytecodesToOldBytecodes()int[]getRawHandlers()booleanisStatic()
-
-
-
Method Detail
-
getCode
public byte[] getCode()
- Returns:
- the actual bytecodes
-
getInstructionOffsets
public int[] getInstructionOffsets()
-
getMethodName
public java.lang.String getMethodName()
- Returns:
- the name of the method; either "null", if this code takes the place of the original method, or some string representing the name of a helper method
-
getMethodSignature
public java.lang.String getMethodSignature()
- Returns:
- the method signature in JVM format
-
getAccessFlags
public int getAccessFlags()
- Returns:
- the access flags that should be used for this method, or 0 if this is the code for the original method
-
getRawHandlers
public int[] getRawHandlers()
- Returns:
- the raw exception handler table in JVM format
-
isStatic
public boolean isStatic()
- Returns:
- whether the method is static
-
getNewBytecodesToOldBytecodes
public int[] getNewBytecodesToOldBytecodes()
- Returns:
- a map m such that the new bytecode instruction at offset i corresponds to the bytecode instruction at m[i] in the original method
-
getMaxStack
public int getMaxStack()
- Returns:
- the maximum stack size in words as required by the JVM
-
getMaxLocals
public int getMaxLocals()
- Returns:
- the maximum local variable size in words as required by the JVM
-
-