public class WriterPolicy_c extends Policy_c implements WriterPolicy
PolicyLabel
interface.Constructor and Description |
---|
WriterPolicy_c(Principal owner,
Principal writer,
JifTypeSystem ts,
polyglot.util.Position pos) |
Modifier and Type | Method and Description |
---|---|
boolean |
equalsImpl(polyglot.types.TypeObject o) |
int |
hashCode() |
boolean |
isBottom() |
boolean |
isBottomIntegrity() |
boolean |
isCanonical() |
boolean |
isRuntimeRepresentable() |
boolean |
isSingleton() |
boolean |
isTop() |
boolean |
isTopIntegrity() |
IntegPolicy |
join(IntegPolicy p) |
PathMap |
labelCheck(JifContext A,
LabelChecker lc) |
boolean |
leq_(IntegPolicy p,
LabelEnv env,
LabelEnv.SearchState state) |
IntegPolicy |
meet(IntegPolicy p) |
Principal |
owner() |
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 |
updateContextForWriter(LabelChecker lc,
JifContext A,
PathMap Xowner)
Utility method for updating the context for checking the writer.
|
Principal |
writer() |
copy, hasVariables, hasWritersToReaders, simplify, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
hasVariables, hasWritersToReaders, simplify
public WriterPolicy_c(Principal owner, Principal writer, JifTypeSystem ts, polyglot.util.Position pos)
public Principal owner()
owner
in interface WriterPolicy
public Principal writer()
writer
in interface WriterPolicy
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_(IntegPolicy p, LabelEnv env, LabelEnv.SearchState state)
leq_
in interface IntegPolicy
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 updateContextForWriter(LabelChecker lc, JifContext A, PathMap Xowner)
public boolean isBottomIntegrity()
isBottomIntegrity
in interface IntegPolicy
public boolean isTopIntegrity()
isTopIntegrity
in interface IntegPolicy
public IntegPolicy meet(IntegPolicy p)
meet
in interface IntegPolicy
public IntegPolicy join(IntegPolicy p)
join
in interface IntegPolicy