Class 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 Detail

      • 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