public abstract class JifDowngradeStmtExt extends JifStmtExt_c
DeclassifyStmt
node.DeclassifyStmt
,
Serialized FormstmtDel
Constructor and Description |
---|
JifDowngradeStmtExt(ToJavaExt toJava) |
Modifier and Type | Method and Description |
---|---|
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)
TODO: document me!
|
protected PathMap |
initPathMap(LabelChecker lc)
TODO: document me!
|
polyglot.ast.Node |
labelCheckStmt(LabelChecker lc) |
copy, init, labelCheck, stmtDel, stmtDel
checkAndRemoveThrowType, checkThrowTypes, dump, getPathMap, integerBoundsCalculated, toJava, toJava, updatePathMap, X, X
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, ext, ext, extRewrite, extRewriteEnter, extRewriteOverride, initPred, lang, node, pred, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, superLang, throwTypes, toString, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
public JifDowngradeStmtExt(ToJavaExt toJava)
protected JifContext declassifyConstraintContext(JifContext A) throws polyglot.types.SemanticException
polyglot.types.SemanticException
public final polyglot.ast.Node labelCheckStmt(LabelChecker lc) throws polyglot.types.SemanticException
labelCheckStmt
in interface JifStmtExt
labelCheckStmt
in class JifStmtExt_c
polyglot.types.SemanticException
protected void checkPCconstraint(LabelChecker lc, JifContext A, Label pc, Label downgradeFrom, boolean boundSpecified) throws polyglot.types.SemanticException
polyglot.types.SemanticException
protected polyglot.ast.Stmt checkBody(LabelChecker lc, JifContext A, Label downgradeFrom, Label downgradeTo) throws polyglot.types.SemanticException
polyglot.types.SemanticException
protected JifContext bodyContext(LabelChecker lc, JifContext A, Label downgradeFrom, Label downgradeTo)
protected PathMap initPathMap(LabelChecker lc) throws polyglot.types.SemanticException
polyglot.types.SemanticException
protected abstract void checkOneDimenOnly(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos) throws polyglot.types.SemanticException
lc
- labelFrom
- labelTo
- polyglot.types.SemanticException
protected abstract void checkAuthority(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos) throws polyglot.types.SemanticException
lc
- labelFrom
- labelTo
- polyglot.types.SemanticException
protected abstract void checkRobustness(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos) throws polyglot.types.SemanticException
lc
- labelFrom
- labelTo
- polyglot.types.SemanticException
protected void checkAdditionalConstraints(LabelChecker lc, JifContext A, Label labelFrom, Label labelTo, polyglot.util.Position pos) throws polyglot.types.SemanticException
lc
- labelFrom
- labelTo
- polyglot.types.SemanticException