jif.ast
Class LabelIf_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 jif.ast.LabelIf_c
All Implemented Interfaces:
java.lang.Cloneable, LabelIf, polyglot.ast.CompoundStmt, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Stmt, polyglot.ast.Term, polyglot.util.Copy

public class LabelIf_c
extends polyglot.ext.jl.ast.Stmt_c
implements LabelIf

An implementation of the LabelIf interface.


Field Summary
protected  polyglot.ast.Stmt alternative
           
protected  polyglot.ast.Stmt consequent
           
protected  LabelExpr lhs
           
protected  LabelExpr rhs
           
 
Fields inherited from class polyglot.ext.jl.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ext.jl.ast.Node_c
del, error, ext, position
 
Constructor Summary
LabelIf_c(polyglot.util.Position pos, LabelExpr lhs, LabelExpr rhs, polyglot.ast.Stmt consequent, polyglot.ast.Stmt alternative)
           
 
Method Summary
 java.util.List acceptCFG(polyglot.visit.CFGBuilder v, java.util.List succs)
           
 polyglot.ast.Stmt alternative()
          Gets the alternative statement.
 LabelIf alternative(polyglot.ast.Stmt alternative)
          Sets the alternative statement.
 polyglot.ast.Stmt consequent()
          Gets the consequent statement.
 LabelIf consequent(polyglot.ast.Stmt consequent)
          Sets the consequent statement.
 polyglot.ast.Term entry()
           
 LabelExpr lhs()
          Gets the lhs principal.
 LabelIf lhs(LabelExpr lhs)
          Sets the lhs principal.
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  LabelIf_c reconstruct(LabelExpr lhs, LabelExpr rhs, polyglot.ast.Stmt consequent, polyglot.ast.Stmt alternative)
          Reconstructs the node.
 LabelExpr rhs()
          Gets the rhs principal.
 LabelIf rhs(LabelExpr rhs)
          Sets the rhs principal.
 java.lang.String toString()
           
 void translate(polyglot.util.CodeWriter w, polyglot.visit.Translator tr)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
          Visits the children of the node.
 
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, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isDisambiguated, isTypeChecked, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, typeCheck, typeCheckEnter, typeCheckOverride, visit, visitChild, 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, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypes, buildTypesEnter, checkConstants, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheck, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.util.Copy
copy
 

Field Detail

lhs

protected LabelExpr lhs

rhs

protected LabelExpr rhs

consequent

protected polyglot.ast.Stmt consequent

alternative

protected polyglot.ast.Stmt alternative
Constructor Detail

LabelIf_c

public LabelIf_c(polyglot.util.Position pos,
                 LabelExpr lhs,
                 LabelExpr rhs,
                 polyglot.ast.Stmt consequent,
                 polyglot.ast.Stmt alternative)
Method Detail

lhs

public LabelExpr lhs()
Gets the lhs principal.

Specified by:
lhs in interface LabelIf

lhs

public LabelIf lhs(LabelExpr lhs)
Sets the lhs principal.

Specified by:
lhs in interface LabelIf

rhs

public LabelExpr rhs()
Gets the rhs principal.

Specified by:
rhs in interface LabelIf

rhs

public LabelIf rhs(LabelExpr rhs)
Sets the rhs principal.

Specified by:
rhs in interface LabelIf

consequent

public polyglot.ast.Stmt consequent()
Gets the consequent statement.

Specified by:
consequent in interface LabelIf

consequent

public LabelIf consequent(polyglot.ast.Stmt consequent)
Sets the consequent statement.

Specified by:
consequent in interface LabelIf

alternative

public polyglot.ast.Stmt alternative()
Gets the alternative statement.

Specified by:
alternative in interface LabelIf

alternative

public LabelIf alternative(polyglot.ast.Stmt alternative)
Sets the alternative statement.

Specified by:
alternative in interface LabelIf

reconstruct

protected LabelIf_c reconstruct(LabelExpr lhs,
                                LabelExpr rhs,
                                polyglot.ast.Stmt consequent,
                                polyglot.ast.Stmt alternative)
Reconstructs the node.


visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Visits the children of the node.

Specified by:
visitChildren in interface polyglot.ast.NodeOps
Overrides:
visitChildren in class polyglot.ext.jl.ast.Node_c

entry

public polyglot.ast.Term entry()
Specified by:
entry in interface polyglot.ast.Term
Specified by:
entry in class polyglot.ext.jl.ast.Term_c

acceptCFG

public java.util.List acceptCFG(polyglot.visit.CFGBuilder v,
                                java.util.List succs)
Specified by:
acceptCFG in interface polyglot.ast.Term
Specified by:
acceptCFG in class polyglot.ext.jl.ast.Term_c

toString

public java.lang.String toString()
Overrides:
toString in class polyglot.ext.jl.ast.Node_c

prettyPrint

public void prettyPrint(polyglot.util.CodeWriter w,
                        polyglot.visit.PrettyPrinter tr)
Specified by:
prettyPrint in interface polyglot.ast.NodeOps
Overrides:
prettyPrint in class polyglot.ext.jl.ast.Node_c

translate

public void translate(polyglot.util.CodeWriter w,
                      polyglot.visit.Translator tr)
Specified by:
translate in interface polyglot.ast.NodeOps
Overrides:
translate in class polyglot.ext.jl.ast.Node_c