jif.types.label
Class IntegProjectionPolicy_c

java.lang.Object
  extended by polyglot.types.TypeObject_c
      extended by jif.types.label.Policy_c
          extended by jif.types.label.IntegProjectionPolicy_c
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, IntegPolicy, Policy, polyglot.types.TypeObject, polyglot.util.Copy

public class IntegProjectionPolicy_c
extends Policy_c
implements IntegPolicy

The integrity projection of a (non meet, join or pair) label.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class polyglot.types.TypeObject_c
position, ts
 
Constructor Summary
IntegProjectionPolicy_c(Label label, JifTypeSystem ts, polyglot.util.Position pos)
           
 
Method Summary
 boolean equalsImpl(polyglot.types.TypeObject o)
           
 int hashCode()
           
 boolean hasVariables()
           
 boolean hasWritersToReaders()
           
 boolean isBottom()
           
 boolean isBottomIntegrity()
           
 boolean isCanonical()
           
 boolean isRuntimeRepresentable()
           
 boolean isSingleton()
           
 boolean isTop()
           
 boolean isTopIntegrity()
           
 IntegPolicy join(IntegPolicy p)
           
 Label label()
           
 PathMap labelCheck(JifContext A, LabelChecker lc)
           
 boolean leq_(IntegPolicy p, LabelEnv env, LabelEnv.SearchState state)
           
 IntegPolicy meet(IntegPolicy p)
           
protected  Policy simplifyImpl()
           
 Policy subst(LabelSubstitution substitution)
           
 java.util.List throwTypes(polyglot.types.TypeSystem ts)
           
 java.lang.String toString(java.util.Set printedLabels)
           
 
Methods inherited from class jif.types.label.Policy_c
copy, simplify, toString
 
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 jif.types.label.Policy
simplify
 
Methods inherited from interface polyglot.types.TypeObject
position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 

Constructor Detail

IntegProjectionPolicy_c

public IntegProjectionPolicy_c(Label label,
                               JifTypeSystem ts,
                               polyglot.util.Position pos)
Method Detail

label

public Label label()

isSingleton

public boolean isSingleton()
Specified by:
isSingleton in interface Policy

isCanonical

public boolean isCanonical()
Specified by:
isCanonical in interface Policy
Specified by:
isCanonical in interface polyglot.types.TypeObject

isRuntimeRepresentable

public boolean isRuntimeRepresentable()
Specified by:
isRuntimeRepresentable in interface Policy

simplifyImpl

protected Policy simplifyImpl()
Specified by:
simplifyImpl in class Policy_c

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

leq_

public boolean leq_(IntegPolicy p,
                    LabelEnv env,
                    LabelEnv.SearchState state)
Specified by:
leq_ in interface IntegPolicy

toString

public java.lang.String toString(java.util.Set printedLabels)
Specified by:
toString in interface Policy
Specified by:
toString in class Policy_c

throwTypes

public java.util.List throwTypes(polyglot.types.TypeSystem ts)
Specified by:
throwTypes in interface Policy

subst

public Policy subst(LabelSubstitution substitution)
             throws polyglot.types.SemanticException
Specified by:
subst in interface Policy
Throws:
polyglot.types.SemanticException

labelCheck

public PathMap labelCheck(JifContext A,
                          LabelChecker lc)
Specified by:
labelCheck in interface Policy

isBottomIntegrity

public boolean isBottomIntegrity()
Specified by:
isBottomIntegrity in interface IntegPolicy

isTopIntegrity

public boolean isTopIntegrity()
Specified by:
isTopIntegrity in interface IntegPolicy

isTop

public boolean isTop()
Specified by:
isTop in interface Policy

isBottom

public boolean isBottom()
Specified by:
isBottom in interface Policy

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

meet

public IntegPolicy meet(IntegPolicy p)
Specified by:
meet in interface IntegPolicy

join

public IntegPolicy join(IntegPolicy p)
Specified by:
join in interface IntegPolicy