public class ReaderPolicy_c extends Policy_c implements ReaderPolicy
PolicyLabel
interface.Constructor and Description |
---|
ReaderPolicy_c(Principal owner,
Principal reader,
JifTypeSystem ts,
polyglot.util.Position pos) |
Modifier and Type | Method and Description |
---|---|
boolean |
equalsImpl(polyglot.types.TypeObject o) |
int |
hashCode() |
boolean |
isBottom() |
boolean |
isBottomConfidentiality() |
boolean |
isCanonical() |
boolean |
isRuntimeRepresentable() |
boolean |
isSingleton() |
boolean |
isTop() |
boolean |
isTopConfidentiality() |
ConfPolicy |
join(ConfPolicy p) |
PathMap |
labelCheck(JifContext A,
LabelChecker lc) |
boolean |
leq_(ConfPolicy p,
LabelEnv env,
LabelEnv.SearchState state) |
ConfPolicy |
meet(ConfPolicy p) |
Principal |
owner() |
Principal |
reader() |
protected Policy |
simplifyImpl() |
Policy |
subst(LabelSubstitution substitution) |
java.util.List<polyglot.types.Type> |
throwTypes(polyglot.types.TypeSystem ts) |
java.lang.String |
toString(java.util.Set<Label> printedLabels) |
protected void |
updateContextForReader(LabelChecker lc,
JifContext A,
PathMap Xowner)
Utility method for updating the context for checking the reader.
|
copy, hasVariables, hasWritersToReaders, simplify, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
hasVariables, hasWritersToReaders, simplify
public ReaderPolicy_c(Principal owner, Principal reader, JifTypeSystem ts, polyglot.util.Position pos)
public Principal owner()
owner
in interface ReaderPolicy
public Principal reader()
reader
in interface ReaderPolicy
public boolean isSingleton()
isSingleton
in interface Policy
public boolean isCanonical()
isCanonical
in interface Policy
isCanonical
in interface polyglot.types.TypeObject
public boolean isRuntimeRepresentable()
isRuntimeRepresentable
in interface Policy
protected Policy simplifyImpl()
simplifyImpl
in class Policy_c
public boolean equalsImpl(polyglot.types.TypeObject o)
equalsImpl
in interface polyglot.types.TypeObject
equalsImpl
in class Policy_c
public int hashCode()
hashCode
in class polyglot.types.TypeObject_c
public boolean leq_(ConfPolicy p, LabelEnv env, LabelEnv.SearchState state)
leq_
in interface ConfPolicy
public java.lang.String toString(java.util.Set<Label> printedLabels)
public java.util.List<polyglot.types.Type> throwTypes(polyglot.types.TypeSystem ts)
throwTypes
in interface Policy
public Policy subst(LabelSubstitution substitution) throws polyglot.types.SemanticException
public PathMap labelCheck(JifContext A, LabelChecker lc)
labelCheck
in interface Policy
protected void updateContextForReader(LabelChecker lc, JifContext A, PathMap Xowner)
public boolean isBottomConfidentiality()
isBottomConfidentiality
in interface ConfPolicy
public boolean isTopConfidentiality()
isTopConfidentiality
in interface ConfPolicy
public ConfPolicy meet(ConfPolicy p)
meet
in interface ConfPolicy
public ConfPolicy join(ConfPolicy p)
join
in interface ConfPolicy