Class Compiler.Output

java.lang.Object
com.ibm.wala.shrike.shrikeBT.Compiler.Output
Enclosing class:
Compiler

public static final class Compiler.Output extends Object
This 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 Details

    • getCode

      public byte[] getCode()
      Returns:
      the actual bytecodes
    • getInstructionOffsets

      public int[] getInstructionOffsets()
    • getMethodName

      public 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 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