Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jif.extension
Class JifDeclassifyExprExt

    java.lang.Object
      polyglot.ast.Ext_c
          jif.ast.Jif_c
              jif.extension.JifExprExt
                  jif.extension.JifDowngradeExprExt
                      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
`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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD