EDU.purdue.cs.bloat.tree
Class JsrStmt

java.lang.Object
  |
  +--EDU.purdue.cs.bloat.tree.Node
        |
        +--EDU.purdue.cs.bloat.tree.Stmt
              |
              +--EDU.purdue.cs.bloat.tree.JumpStmt
                    |
                    +--EDU.purdue.cs.bloat.tree.JsrStmt

public class JsrStmt
extends JumpStmt

JsrStmt represents a jsr instruction that jumps to a subroutine. Recall that a subroutine is used to implement the finally cause in exception handlers. The ret instruction is used to return from a subroutine.

See Also:
RetStmt, Subroutine

Fields inherited from class EDU.purdue.cs.bloat.tree.Node
parent
 
Constructor Summary
JsrStmt(Subroutine sub, Block follow)
          Constructor.
 
Method Summary
 java.lang.Object clone()
           
 Block follow()
           
 void setFollow(Block follow)
           
 Subroutine sub()
           
 void visit(TreeVisitor visitor)
           
 void visitForceChildren(TreeVisitor visitor)
          Visit the children of this node.
 
Methods inherited from class EDU.purdue.cs.bloat.tree.JumpStmt
catchTargets, copyInto
 
Methods inherited from class EDU.purdue.cs.bloat.tree.Stmt
cleanupOnly
 
Methods inherited from class EDU.purdue.cs.bloat.tree.Node
block, cleanup, hasParent, key, parent, replaceWith, replaceWith, setKey, setParent, setValueNumber, toString, valueNumber, visitChildren, visitOnly
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JsrStmt

public JsrStmt(Subroutine sub,
               Block follow)
Constructor.
Parameters:
sub - Subroutine that this statement jumps to.
follow - Basic Block following the jump statement.
Method Detail

setFollow

public void setFollow(Block follow)

follow

public Block follow()

sub

public Subroutine sub()

visitForceChildren

public void visitForceChildren(TreeVisitor visitor)
Description copied from class: Node
Visit the children of this node. Not all Nodes will have children to visit.
Overrides:
visitForceChildren in class Node

visit

public void visit(TreeVisitor visitor)
Overrides:
visit in class Node

clone

public java.lang.Object clone()
Overrides:
clone in class Stmt