polyglot.ext.jl.ast
Class Branch_c

java.lang.Object
  extended by polyglot.ext.jl.ast.Node_c
      extended by polyglot.ext.jl.ast.Term_c
          extended by polyglot.ext.jl.ast.Stmt_c
              extended by polyglot.ext.jl.ast.Branch_c
All Implemented Interfaces:
java.lang.Cloneable, Branch, JL, Node, NodeOps, Stmt, Term, Copy

public class Branch_c
extends Stmt_c
implements Branch

A Branch is an immutable representation of a branch statment in Java (a break or continue).


Nested Class Summary
 
Nested classes/interfaces inherited from interface polyglot.ast.Branch
Branch.Kind
 
Field Summary
protected  Branch.Kind kind
           
protected  java.lang.String label
           
 
Fields inherited from class polyglot.ext.jl.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ext.jl.ast.Node_c
del, ext, position
 
Fields inherited from interface polyglot.ast.Branch
BREAK, CONTINUE
 
Constructor Summary
Branch_c(Position pos, Branch.Kind kind, java.lang.String label)
           
 
Method Summary
 java.util.List acceptCFG(CFGBuilder v, java.util.List succs)
          Visit this term in evaluation order.
 Term entry()
          Return the first (sub)term performed when evaluating this term.
 Branch.Kind kind()
          Get the kind of the branch.
 Branch kind(Branch.Kind kind)
          Set the kind of the branch.
 java.lang.String label()
          Get the target label of the branch.
 Branch label(java.lang.String label)
          Set the target label of the branch.
 void prettyPrint(CodeWriter w, PrettyPrinter tr)
          Write the expression to an output file.
 java.lang.String toString()
           
 
Methods inherited from class polyglot.ext.jl.ast.Term_c
exceptionCheck, exceptions, exceptions, listEntry, reachable, reachable
 
Methods inherited from class polyglot.ext.jl.ast.Node_c
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypes, buildTypesEnter, buildTypesOverride, childExpectedType, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, dump, enterScope, enterScope, exceptionCheckEnter, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, print, printBlock, printSubStmt, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visit, visitChild, visitChildren, visitEdge, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.ast.Term
exceptions, exceptions, reachable, reachable
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, throwTypes, translate, typeCheck, typeCheckEnter, visitChildren
 
Methods inherited from interface polyglot.util.Copy
copy
 

Field Detail

kind

protected Branch.Kind kind

label

protected java.lang.String label
Constructor Detail

Branch_c

public Branch_c(Position pos,
                Branch.Kind kind,
                java.lang.String label)
Method Detail

kind

public Branch.Kind kind()
Get the kind of the branch.

Specified by:
kind in interface Branch

kind

public Branch kind(Branch.Kind kind)
Set the kind of the branch.

Specified by:
kind in interface Branch

label

public java.lang.String label()
Get the target label of the branch.

Specified by:
label in interface Branch

label

public Branch label(java.lang.String label)
Set the target label of the branch.

Specified by:
label in interface Branch

toString

public java.lang.String toString()
Overrides:
toString in class Node_c

prettyPrint

public void prettyPrint(CodeWriter w,
                        PrettyPrinter tr)
Write the expression to an output file.

Specified by:
prettyPrint in interface NodeOps
Overrides:
prettyPrint in class Node_c
Parameters:
w - The code writer to which to write.
tr - The pretty printer. This is not a visitor.

entry

public Term entry()
Return the first (sub)term performed when evaluating this term.

Specified by:
entry in interface Term
Specified by:
entry in class Term_c

acceptCFG

public java.util.List acceptCFG(CFGBuilder v,
                                java.util.List succs)
Description copied from class: Term_c
Visit this term in evaluation order.

Specified by:
acceptCFG in interface Term
Specified by:
acceptCFG in class Term_c