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, 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, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChildren
 
Methods inherited from interface polyglot.util.Copy
copy
 

Method Detail

label

LabelNode label()

label

DeclassifyStmt label(LabelNode label)

body

polyglot.ast.Stmt body()

body

DeclassifyStmt body(polyglot.ast.Stmt body)

bound

LabelNode bound()

bound

DeclassifyStmt bound(LabelNode bound)