Documentation of 'org.apache.bcel.generic.Instruction' Java class
Instruction
org.apache.bcel.generic

Class Instruction

    • Constructor Summary

      Constructors 
      Constructor and Description
      Instruction(short opcode, short length) 
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method and Description
      abstract void accept(Visitor v)
      Call corresponding visitor method(s).
      int consumeStack(ConstantPoolGen cpg)
      This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.
      Instruction copy()
      Use with caution, since `BranchInstruction's have a `target' reference which is not copied correctly (only basic types are).
      void dump(java.io.DataOutputStream out)
      Dump instruction as byte code to stream out.
      boolean equals(java.lang.Object that)
      Check for equality, delegated to comparator
      static InstructionComparator getComparator()
      Deprecated. 
      (6.0) use the built in comparator, or wrap this class in another object that implements these methods
      int getLength() 
      java.lang.String getName() 
      short getOpcode() 
      int hashCode()
      calculate the hashCode of this object
      static boolean isValidByte(int value)
      Check if the value can fit in a byte (signed)
      static boolean isValidShort(int value)
      Check if the value can fit in a short (signed)
      int produceStack(ConstantPoolGen cpg)
      This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.
      static Instruction readInstruction(ByteSequence bytes)
      Read an instruction from (byte code) input stream and return the appropiate object.
      static void setComparator(InstructionComparator c)
      Deprecated. 
      (6.0) use the built in comparator, or wrap this class in another object that implements these methods
      java.lang.String toString() 
      java.lang.String toString(boolean verbose)
      Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")"
      java.lang.String toString(ConstantPool cp) 
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Instruction

        public Instruction(short opcode,
                           short length)
    • Method Detail

      • dump

        public void dump(java.io.DataOutputStream out)
                  throws java.io.IOException
        Dump instruction as byte code to stream out.
        Parameters:
        out - Output stream
        Throws:
        java.io.IOException
      • getName

        public java.lang.String getName()
        Returns:
        name of instruction, i.e., opcode name
      • toString

        public java.lang.String toString(boolean verbose)
        Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")"
        Parameters:
        verbose - long/short format switch
        Returns:
        mnemonic for instruction
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        Returns:
        mnemonic for instruction in verbose format
      • toString

        public java.lang.String toString(ConstantPool cp)
        Returns:
        mnemonic for instruction with sumbolic references resolved
      • copy

        public Instruction copy()
        Use with caution, since `BranchInstruction's have a `target' reference which is not copied correctly (only basic types are). This also applies for `Select' instructions with their multiple branch targets.
        Returns:
        (shallow) copy of an instruction
        See Also:
        BranchInstruction
      • readInstruction

        public static Instruction readInstruction(ByteSequence bytes)
                                           throws java.io.IOException
        Read an instruction from (byte code) input stream and return the appropiate object.

        If the Instruction is defined in InstructionConst, then the singleton instance is returned.

        Parameters:
        bytes - input stream bytes
        Returns:
        instruction object being read
        Throws:
        java.io.IOException
        See Also:
        InstructionConst.getInstruction(int)
      • consumeStack

        public int consumeStack(ConstantPoolGen cpg)
        This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.
        Returns:
        Number of words consumed from stack by this instruction, or Constants.UNPREDICTABLE, if this can not be computed statically
      • produceStack

        public int produceStack(ConstantPoolGen cpg)
        This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.
        Returns:
        Number of words produced onto stack by this instruction, or Constants.UNPREDICTABLE, if this can not be computed statically
      • getOpcode

        public short getOpcode()
        Returns:
        this instructions opcode
      • getLength

        public int getLength()
        Returns:
        length (in bytes) of instruction
      • accept

        public abstract void accept(Visitor v)
        Call corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, i.e., the most specific visitXXX() call comes last.
        Parameters:
        v - Visitor object
      • getComparator

        @Deprecated
        public static InstructionComparator getComparator()
        Deprecated. (6.0) use the built in comparator, or wrap this class in another object that implements these methods
        Get Comparator object used in the equals() method to determine equality of instructions.
        Returns:
        currently used comparator for equals()
      • setComparator

        @Deprecated
        public static void setComparator(InstructionComparator c)
        Deprecated. (6.0) use the built in comparator, or wrap this class in another object that implements these methods
        Set comparator to be used for equals().
      • equals

        public boolean equals(java.lang.Object that)
        Check for equality, delegated to comparator
        Overrides:
        equals in class java.lang.Object
        Returns:
        true if that is an Instruction and has the same opcode
      • hashCode

        public int hashCode()
        calculate the hashCode of this object
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        the hashCode
        Since:
        6.0
      • isValidByte

        public static boolean isValidByte(int value)
        Check if the value can fit in a byte (signed)
        Parameters:
        value - the value to check
        Returns:
        true if the value is in range
        Since:
        6.0
      • isValidShort

        public static boolean isValidShort(int value)
        Check if the value can fit in a short (signed)
        Parameters:
        value - the value to check
        Returns:
        true if the value is in range
        Since:
        6.0

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.