jif.extension
Class JifDeclassifyStmtExt

java.lang.Object
  extended by polyglot.ast.Ext_c
      extended by jif.ast.Jif_c
          extended by jif.extension.JifStmtExt_c
              extended by jif.extension.JifDowngradeStmtExt
                  extended by jif.extension.JifDeclassifyStmtExt
All Implemented Interfaces:
java.lang.Cloneable, Jif, JifStmtExt, polyglot.ast.Ext, polyglot.util.Copy

public class JifDeclassifyStmtExt
extends JifDowngradeStmtExt

The Jif extension of the DeclassifyStmt node.

See Also:
DeclassifyStmt

Field Summary
 
Fields inherited from class jif.extension.JifStmtExt_c
stmtDel
 
Fields inherited from class jif.ast.Jif_c
toJava, X
 
Fields inherited from class polyglot.ast.Ext_c
ext, node
 
Constructor Summary
JifDeclassifyStmtExt(ToJavaExt toJava)
           
 
Method Summary
protected  void checkAuthority(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos)
          Check the authority condition
protected  void checkOneDimenOnly(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos)
          Check that only the integrity/confidentiality is downgraded, and not the other dimension.
protected  void checkRobustness(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos)
          Check the robustness condition
 
Methods inherited from class jif.extension.JifDowngradeStmtExt
bodyContext, checkAdditionalConstraints, checkBody, checkPCconstraint, declassifyConstraintContext, initPathMap, labelCheckStmt
 
Methods inherited from class jif.extension.JifStmtExt_c
copy, init, labelCheck, stmtDel, stmtDel
 
Methods inherited from class jif.ast.Jif_c
checkAndRemoveThrowType, checkThrowTypes, getPathMap, integerBoundsCalculated, toJava, toJava, updatePathMap, X, X
 
Methods inherited from class polyglot.ast.Ext_c
dump, ext, ext, node, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.ast.Ext
dump, ext, ext, node
 

Constructor Detail

JifDeclassifyStmtExt

public JifDeclassifyStmtExt(ToJavaExt toJava)
Method Detail

checkOneDimenOnly

protected void checkOneDimenOnly(LabelChecker lc,
                                 JifContext A,
                                 Label labelFrom,
                                 Label labelTo,
                                 polyglot.util.Position pos)
                          throws polyglot.types.SemanticException
Description copied from class: JifDowngradeStmtExt
Check that only the integrity/confidentiality is downgraded, and not the other dimension.

Specified by:
checkOneDimenOnly in class JifDowngradeStmtExt
Throws:
polyglot.types.SemanticException

checkAuthority

protected void checkAuthority(LabelChecker lc,
                              JifContext A,
                              Label labelFrom,
                              Label labelTo,
                              polyglot.util.Position pos)
                       throws polyglot.types.SemanticException
Description copied from class: JifDowngradeStmtExt
Check the authority condition

Specified by:
checkAuthority in class JifDowngradeStmtExt
Throws:
polyglot.types.SemanticException

checkRobustness

protected void checkRobustness(LabelChecker lc,
                               JifContext A,
                               Label labelFrom,
                               Label labelTo,
                               polyglot.util.Position pos)
                        throws polyglot.types.SemanticException
Description copied from class: JifDowngradeStmtExt
Check the robustness condition

Specified by:
checkRobustness in class JifDowngradeStmtExt
Throws:
polyglot.types.SemanticException