jif.extension
Class JifDeclassifyExprExt

java.lang.Object
  extended by polyglot.ast.Ext_c
      extended by jif.ast.Jif_c
          extended by jif.extension.JifExprExt
              extended by jif.extension.JifDowngradeExprExt
                  extended by jif.extension.JifDeclassifyExprExt
All Implemented Interfaces:
java.lang.Cloneable, Jif, polyglot.ast.Ext, polyglot.util.Copy

public class JifDeclassifyExprExt
extends JifDowngradeExprExt

The Jif extension of the DeclassifyExpr node.

See Also:
DeclassifyExpr

Field Summary
 
Fields inherited from class jif.ast.Jif_c
toJava, X
 
Fields inherited from class polyglot.ast.Ext_c
ext, node
 
Constructor Summary
JifDeclassifyExprExt(ToJavaExt toJava)
           
 
Method Summary
protected static void checkAuth(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos, boolean isExpr)
           
protected  void checkAuthority(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos)
          Check the authority condition
protected static void checkOneDimen(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos, boolean isExpr)
           
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 static void checkRobustDecl(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos, boolean isExpr)
           
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.JifDowngradeExprExt
checkDowngradeFromBound, declassifyConstraintContext, downgradeExprPathMap, labelCheck
 
Methods inherited from class jif.extension.JifExprExt
getNumericBounds, setNumericBounds
 
Methods inherited from class jif.ast.Jif_c
checkAndRemoveThrowType, checkThrowTypes, copy, getPathMap, init, 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

JifDeclassifyExprExt

public JifDeclassifyExprExt(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: JifDowngradeExprExt
Check that only the integrity/confidentiality is downgraded, and not the other dimension.

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

checkOneDimen

protected static void checkOneDimen(LabelChecker lc,
                                    JifContext A,
                                    Label labelFrom,
                                    Label labelTo,
                                    polyglot.util.Position pos,
                                    boolean isExpr)
                             throws polyglot.types.SemanticException
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: JifDowngradeExprExt
Check the authority condition

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

checkAuth

protected static void checkAuth(LabelChecker lc,
                                JifContext A,
                                Label labelFrom,
                                Label labelTo,
                                polyglot.util.Position pos,
                                boolean isExpr)
                         throws polyglot.types.SemanticException
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: JifDowngradeExprExt
Check the robustness condition

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

checkRobustDecl

protected static void checkRobustDecl(LabelChecker lc,
                                      JifContext A,
                                      Label labelFrom,
                                      Label labelTo,
                                      polyglot.util.Position pos,
                                      boolean isExpr)
                               throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException