Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.bcel.verifier.structurals
Interface Subroutine  view Subroutine download Subroutine.java

All Known Implementing Classes:
Subroutines.SubroutineImpl

public interface Subroutine

This interface defines properties of JVM bytecode subroutines. Note that it is 'abused' to maintain the top-level code in a consistent fashion, too.

Version:
$Id: Subroutine.java 371539 2006-01-23 14:08:00Z tcurdt $

Method Summary
 boolean contains(org.apache.bcel.generic.InstructionHandle inst)
          Returns if the given InstructionHandle refers to an instruction that is part of this subroutine.
 int[] getAccessedLocalsIndices()
          Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are not included.
 org.apache.bcel.generic.InstructionHandle[] getEnteringJsrInstructions()
          Returns all the JsrInstructions that have the first instruction of this subroutine as their target.
 org.apache.bcel.generic.InstructionHandle[] getInstructions()
          Returns all instructions that together form this subroutine.
 org.apache.bcel.generic.InstructionHandle getLeavingRET()
          Returns the one and only RET that leaves the subroutine.
 int[] getRecursivelyAccessedLocalsIndices()
          Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are included.
 Subroutine[] subSubs()
          Returns the subroutines that are directly called from this subroutine.
 

Method Detail

getEnteringJsrInstructions

public org.apache.bcel.generic.InstructionHandle[] getEnteringJsrInstructions()
Returns all the JsrInstructions that have the first instruction of this subroutine as their target. Must not be invoked on the 'top-level subroutine'.


getLeavingRET

public org.apache.bcel.generic.InstructionHandle getLeavingRET()
Returns the one and only RET that leaves the subroutine. Note that JustIce has a pretty rigid notion of a subroutine. Must not be invoked on the 'top-level subroutine'.


getInstructions

public org.apache.bcel.generic.InstructionHandle[] getInstructions()
Returns all instructions that together form this subroutine. Note that an instruction is part of exactly one subroutine (the top-level code is considered to be a special subroutine) - else it is not reachable at all (dead code).


contains

public boolean contains(org.apache.bcel.generic.InstructionHandle inst)
Returns if the given InstructionHandle refers to an instruction that is part of this subroutine. This is a convenience method that saves iteration over the InstructionHandle objects returned by getInstructions().


getAccessedLocalsIndices

public int[] getAccessedLocalsIndices()
Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are not included.


getRecursivelyAccessedLocalsIndices

public int[] getRecursivelyAccessedLocalsIndices()
Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are included.


subSubs

public Subroutine[] subSubs()
Returns the subroutines that are directly called from this subroutine.