jif.extension
Class JifDowngradeStmtExt
java.lang.Object
polyglot.ast.Ext_c
jif.ast.Jif_c
jif.extension.JifStmtExt_c
jif.extension.JifDowngradeStmtExt
- All Implemented Interfaces:
- java.lang.Cloneable, Jif, JifStmtExt, polyglot.ast.Ext, polyglot.util.Copy
- Direct Known Subclasses:
- JifDeclassifyStmtExt, JifEndorseStmtExt
public abstract class JifDowngradeStmtExt
- extends JifStmtExt_c
The Jif extension of the DeclassifyStmt
node.
- See Also:
DeclassifyStmt
Fields inherited from class polyglot.ast.Ext_c |
ext, node |
Method Summary |
protected JifContext |
bodyContext(LabelChecker lc,
JifContext A,
Label downgradeFrom,
Label downgradeTo)
|
protected void |
checkAdditionalConstraints(LabelChecker lc,
JifContext A,
Label labelFrom,
Label labelTo,
polyglot.util.Position pos)
Check any additional constraints |
protected abstract void |
checkAuthority(LabelChecker lc,
JifContext A,
Label labelFrom,
Label labelTo,
polyglot.util.Position pos)
Check the authority condition |
protected polyglot.ast.Stmt |
checkBody(LabelChecker lc,
JifContext A,
Label downgradeFrom,
Label downgradeTo)
|
protected abstract 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 |
checkPCconstraint(LabelChecker lc,
JifContext A,
Label pc,
Label downgradeFrom,
boolean boundSpecified)
|
protected abstract void |
checkRobustness(LabelChecker lc,
JifContext A,
Label labelFrom,
Label labelTo,
polyglot.util.Position pos)
Check the robustness condition |
protected JifContext |
declassifyConstraintContext(JifContext A)
|
protected PathMap |
initPathMap(LabelChecker lc)
|
polyglot.ast.Node |
labelCheckStmt(LabelChecker lc)
|
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 |
JifDowngradeStmtExt
public JifDowngradeStmtExt(ToJavaExt toJava)
declassifyConstraintContext
protected JifContext declassifyConstraintContext(JifContext A)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
labelCheckStmt
public final polyglot.ast.Node labelCheckStmt(LabelChecker lc)
throws polyglot.types.SemanticException
- Specified by:
labelCheckStmt
in interface JifStmtExt
- Specified by:
labelCheckStmt
in class JifStmtExt_c
- Throws:
polyglot.types.SemanticException
checkPCconstraint
protected void checkPCconstraint(LabelChecker lc,
JifContext A,
Label pc,
Label downgradeFrom,
boolean boundSpecified)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
checkBody
protected polyglot.ast.Stmt checkBody(LabelChecker lc,
JifContext A,
Label downgradeFrom,
Label downgradeTo)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
bodyContext
protected JifContext bodyContext(LabelChecker lc,
JifContext A,
Label downgradeFrom,
Label downgradeTo)
initPathMap
protected PathMap initPathMap(LabelChecker lc)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
checkOneDimenOnly
protected abstract void checkOneDimenOnly(LabelChecker lc,
JifContext A,
Label labelFrom,
Label labelTo,
polyglot.util.Position pos)
throws polyglot.types.SemanticException
- Check that only the integrity/confidentiality is downgraded, and not
the other dimension.
- Parameters:
lc
- labelFrom
- labelTo
-
- Throws:
polyglot.types.SemanticException
checkAuthority
protected abstract void checkAuthority(LabelChecker lc,
JifContext A,
Label labelFrom,
Label labelTo,
polyglot.util.Position pos)
throws polyglot.types.SemanticException
- Check the authority condition
- Parameters:
lc
- labelFrom
- labelTo
-
- Throws:
polyglot.types.SemanticException
checkRobustness
protected abstract void checkRobustness(LabelChecker lc,
JifContext A,
Label labelFrom,
Label labelTo,
polyglot.util.Position pos)
throws polyglot.types.SemanticException
- Check the robustness condition
- Parameters:
lc
- labelFrom
- labelTo
-
- Throws:
polyglot.types.SemanticException
checkAdditionalConstraints
protected void checkAdditionalConstraints(LabelChecker lc,
JifContext A,
Label labelFrom,
Label labelTo,
polyglot.util.Position pos)
throws polyglot.types.SemanticException
- Check any additional constraints
- Parameters:
lc
- labelFrom
- labelTo
-
- Throws:
polyglot.types.SemanticException