jif.types.label
Class MeetPolicy_c
java.lang.Object
polyglot.types.TypeObject_c
jif.types.label.Policy_c
jif.types.label.MeetPolicy_c
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Policy, polyglot.types.TypeObject, polyglot.util.Copy
- Direct Known Subclasses:
- MeetConfPolicy_c, MeetIntegPolicy_c
public abstract class MeetPolicy_c
- extends Policy_c
Represents the meet of a number of policies.
- See Also:
- Serialized Form
Fields inherited from class polyglot.types.TypeObject_c |
position, ts |
Methods inherited from class polyglot.types.TypeObject_c |
equals, position, typeSystem |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface polyglot.types.TypeObject |
position, typeSystem |
MeetPolicy_c
public MeetPolicy_c(java.util.Set components,
JifTypeSystem ts,
polyglot.util.Position pos)
isSingleton
public boolean isSingleton()
isCanonical
public boolean isCanonical()
isRuntimeRepresentable
public boolean isRuntimeRepresentable()
equalsImpl
public boolean equalsImpl(polyglot.types.TypeObject o)
- Specified by:
equalsImpl
in interface polyglot.types.TypeObject
- Specified by:
equalsImpl
in class Policy_c
hashCode
public int hashCode()
- Overrides:
hashCode
in class polyglot.types.TypeObject_c
toString
public java.lang.String toString(java.util.Set printedLabels)
- Specified by:
toString
in interface Policy
- Specified by:
toString
in class Policy_c
leq_
protected boolean leq_(Policy p,
LabelEnv env,
LabelEnv.SearchState state)
meetComponents
public java.util.Collection meetComponents()
simplifyImpl
protected Policy simplifyImpl()
- Specified by:
simplifyImpl
in class Policy_c
- Returns:
- An equivalent label with fewer components by pulling out
less restrictive policies.
constructMeetPolicy
protected abstract Policy constructMeetPolicy(java.util.Set components,
polyglot.util.Position pos)
throwTypes
public java.util.List throwTypes(polyglot.types.TypeSystem ts)
subst
public Policy subst(LabelSubstitution substitution)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
hasWritersToReaders
public boolean hasWritersToReaders()
- Specified by:
hasWritersToReaders
in interface Policy
- Overrides:
hasWritersToReaders
in class Policy_c
hasVariables
public boolean hasVariables()
- Specified by:
hasVariables
in interface Policy
- Overrides:
hasVariables
in class Policy_c
labelCheck
public PathMap labelCheck(JifContext A,
LabelChecker lc)
isTop
public boolean isTop()
isBottom
public boolean isBottom()