jif.extension
Class JifEndorseExprExt

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.JifEndorseExprExt
All Implemented Interfaces:
java.lang.Cloneable, Jif, polyglot.ast.Ext, polyglot.util.Copy

public class JifEndorseExprExt
extends JifDowngradeExprExt

The Jif extension of the EndorseExpr node.

See Also:
EndorseExpr

Field Summary
 
Fields inherited from class jif.ast.Jif_c
toJava, X
 
Fields inherited from class polyglot.ast.Ext_c
ext, node
 
Constructor Summary
JifEndorseExprExt(ToJavaExt toJava)
           
 
Method Summary
protected static void checkAuth(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos, boolean isExpr, boolean isAutoEndorse)
           
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, boolean isAutoEndorse)
           
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 checkRobustEndorse(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

JifEndorseExprExt

public JifEndorseExprExt(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,
                                    boolean isAutoEndorse)
                             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,
                                boolean isAutoEndorse)
                         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

checkRobustEndorse

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