jif.types.label
Class JoinPolicy_c
java.lang.Object
polyglot.types.TypeObject_c
jif.types.label.Policy_c
jif.types.label.JoinPolicy_c
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Policy, polyglot.types.TypeObject, polyglot.util.Copy
- Direct Known Subclasses:
- JoinConfPolicy_c, JoinIntegPolicy_c
public abstract class JoinPolicy_c
- extends Policy_c
Represents a join 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 |
JoinPolicy_c
public JoinPolicy_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)
joinComponents
public java.util.Collection joinComponents()
simplifyImpl
protected Policy simplifyImpl()
- Specified by:
simplifyImpl
in class Policy_c
- Returns:
- An equivalent label with fewer components by pulling out
less restrictive policies.
constructJoinPolicy
protected abstract Policy constructJoinPolicy(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()