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()