jif.ast
Interface DeclassifyStmt

All Superinterfaces:
java.lang.Cloneable, polyglot.ast.CompoundStmt, polyglot.util.Copy, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Stmt, polyglot.ast.Term
All Known Implementing Classes:
DeclassifyStmt_c

public interface DeclassifyStmt
extends polyglot.ast.CompoundStmt

An immutable representation of the Jif declassify statement.

Grammer: declassify(label_1, label_2) stmt

If the pc label of this declassify statement is less restrictive than label_2, then declassify the pc label of stmt to label_1.


Method Summary
 polyglot.ast.Stmt body()
           
 DeclassifyStmt body(polyglot.ast.Stmt body)
           
 LabelNode bound()
           
 DeclassifyStmt bound(LabelNode bound)
           
 LabelNode label()
           
 DeclassifyStmt label(LabelNode label)
           
 
Methods inherited from interface polyglot.ast.Term
acceptCFG, entry, reachable, reachable
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge
 
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, foldConstants, foldConstantsEnter, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, visitChildren
 
Methods inherited from interface polyglot.util.Copy
copy
 

Method Detail

label

public LabelNode label()

label

public DeclassifyStmt label(LabelNode label)

body

public polyglot.ast.Stmt body()

body

public DeclassifyStmt body(polyglot.ast.Stmt body)

bound

public LabelNode bound()

bound

public DeclassifyStmt bound(LabelNode bound)