jif.ast
Class DowngradeStmt_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.Stmt_c
              extended by jif.ast.DowngradeStmt_c
All Implemented Interfaces:
java.lang.Cloneable, DowngradeStmt, polyglot.ast.CompoundStmt, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Stmt, polyglot.ast.Term, polyglot.util.Copy
Direct Known Subclasses:
DeclassifyStmt_c, EndorseStmt_c

public abstract class DowngradeStmt_c
extends polyglot.ast.Stmt_c
implements DowngradeStmt

An implementation of the DowngradeStmt interface.


Field Summary
 
Fields inherited from class polyglot.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Fields inherited from interface polyglot.ast.Term
ENTRY, EXIT
 
Constructor Summary
DowngradeStmt_c(polyglot.util.Position pos, LabelNode bound, LabelNode label, polyglot.ast.Stmt body)
           
 
Method Summary
 java.util.List acceptCFG(polyglot.visit.CFGBuilder v, java.util.List succs)
           
 polyglot.ast.Stmt body()
           
 DowngradeStmt body(polyglot.ast.Stmt body)
           
 LabelNode bound()
           
 DowngradeStmt bound(LabelNode b)
           
abstract  java.lang.String downgradeKind()
           
 polyglot.ast.Term firstChild()
           
 LabelNode label()
           
 DowngradeStmt label(LabelNode label)
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  DowngradeStmt_c reconstruct(LabelNode bound, LabelNode label, polyglot.ast.Stmt body)
           
 java.lang.String toString()
           
 void translate(polyglot.util.CodeWriter w, polyglot.visit.Translator tr)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class polyglot.ast.Term_c
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, 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, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheck, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.util.Copy
copy
 

Constructor Detail

DowngradeStmt_c

public DowngradeStmt_c(polyglot.util.Position pos,
                       LabelNode bound,
                       LabelNode label,
                       polyglot.ast.Stmt body)
Method Detail

label

public LabelNode label()
Specified by:
label in interface DowngradeStmt

label

public DowngradeStmt label(LabelNode label)
Specified by:
label in interface DowngradeStmt

bound

public LabelNode bound()
Specified by:
bound in interface DowngradeStmt

bound

public DowngradeStmt bound(LabelNode b)
Specified by:
bound in interface DowngradeStmt

body

public polyglot.ast.Stmt body()
Specified by:
body in interface DowngradeStmt

body

public DowngradeStmt body(polyglot.ast.Stmt body)
Specified by:
body in interface DowngradeStmt

reconstruct

protected DowngradeStmt_c reconstruct(LabelNode bound,
                                      LabelNode label,
                                      polyglot.ast.Stmt body)

visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Specified by:
visitChildren in interface polyglot.ast.NodeOps
Overrides:
visitChildren in class polyglot.ast.Node_c

firstChild

public polyglot.ast.Term firstChild()
Specified by:
firstChild in interface polyglot.ast.Term

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.ast.Term_c

toString

public java.lang.String toString()
Overrides:
toString in class polyglot.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.ast.Node_c

downgradeKind

public abstract java.lang.String downgradeKind()
Specified by:
downgradeKind in interface DowngradeStmt
Returns:
Name of the kind of downgrade, e.g. "declassify" or "endorse"

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.ast.Node_c