|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object jif.types.hierarchy.LabelEnv_c
public class LabelEnv_c
The wrapper of a set of assumptions that can be used to decide whether L1 <= L2.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface jif.types.hierarchy.LabelEnv |
---|
LabelEnv.SearchState |
Field Summary | |
---|---|
protected java.util.Map<AccessPath,AccessPath> |
accessPathEquivReps
A map from AccessPath to representatives of the equivalent set of the AcessPath. |
protected java.lang.StringBuffer |
displayLabelAssertions
|
protected boolean |
hasVariables
Do any of the assertions have variables in them? |
protected java.util.List<LabelLeAssertion_c> |
labelAssertions
|
protected LabelEnv_c |
parent
|
protected PrincipalHierarchy |
ph
|
protected Solver |
solver
|
protected static java.util.Collection |
topics
Topics to report |
protected JifTypeSystem |
ts
|
protected boolean |
useCache
|
Constructor Summary | |
---|---|
|
LabelEnv_c(JifTypeSystem ts,
boolean useCache)
|
protected |
LabelEnv_c(JifTypeSystem ts,
PrincipalHierarchy ph,
java.util.List<LabelLeAssertion_c> assertions,
java.lang.String displayLabelAssertions,
boolean hasVariables,
boolean useCache,
java.util.Map<AccessPath,AccessPath> accessPathEquivReps,
LabelEnv_c parent)
|
Method Summary | |
---|---|
boolean |
actsFor(Principal p,
Principal q)
|
void |
addActsFor(Principal p1,
Principal p2)
|
void |
addAssertionLE(Label L1,
Label L2)
|
void |
addEquiv(AccessPath p,
AccessPath q)
|
void |
addEquiv(Label L1,
Label L2)
|
void |
addEquiv(Principal p1,
Principal p2)
|
protected void |
cacheResult(jif.types.hierarchy.LabelEnv_c.LeqGoal g,
LabelEnv.SearchState s,
boolean result)
|
protected java.lang.Boolean |
checkCache(jif.types.hierarchy.LabelEnv_c.LeqGoal g)
|
LabelEnv_c |
copy()
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
definitions(VarMap bounds,
java.util.Set seenComponents)
Returns a Map of Strings to List[String]s which is the descriptions of any components that appear in the environment. |
protected java.util.Set<java.io.Serializable> |
equivAccessPaths(AccessPathRoot p)
|
boolean |
equivalentAccessPaths(AccessPath p,
AccessPath q)
|
Label |
findNonArgLabelUpperBound(Label L)
Finds an upper bound that does not contain arg labels. |
Label |
findUpperBound(Label L)
Finds a PairLabel upper bound. |
protected Label |
findUpperBound(Label L,
java.util.Collection<java.io.Serializable> seen,
boolean noArgLabels)
|
protected LabelEnv.SearchState |
freshSearchState()
|
boolean |
hasVariables()
Do any of the assertions in this label environment contain variables? |
boolean |
isEmpty()
Is this enviornment empty, or does is contain some constraints? |
boolean |
leq(ConfPolicy p1,
ConfPolicy p2,
LabelEnv.SearchState state)
|
boolean |
leq(IntegPolicy p1,
IntegPolicy p2,
LabelEnv.SearchState state)
|
boolean |
leq(Label L1,
Label L2)
|
boolean |
leq(Label L1,
Label L2,
LabelEnv.SearchState state)
Recursive implementation of L1 <= L2. |
boolean |
leq(Policy p1,
Policy p2)
|
boolean |
leq(Policy p1,
Policy p2,
LabelEnv.SearchState state_)
|
PrincipalHierarchy |
ph()
|
void |
setSolver(Solver s)
Set the solver used for this Label Environment. |
java.lang.String |
toString()
|
Label |
triggerTransforms(Label label)
Trigger the transformation of WritersToReaders labels. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final PrincipalHierarchy ph
protected final java.util.List<LabelLeAssertion_c> labelAssertions
protected final java.lang.StringBuffer displayLabelAssertions
protected final JifTypeSystem ts
protected final java.util.Map<AccessPath,AccessPath> accessPathEquivReps
protected final LabelEnv_c parent
protected Solver solver
protected boolean hasVariables
protected static java.util.Collection topics
protected final boolean useCache
Constructor Detail |
---|
public LabelEnv_c(JifTypeSystem ts, boolean useCache)
protected LabelEnv_c(JifTypeSystem ts, PrincipalHierarchy ph, java.util.List<LabelLeAssertion_c> assertions, java.lang.String displayLabelAssertions, boolean hasVariables, boolean useCache, java.util.Map<AccessPath,AccessPath> accessPathEquivReps, LabelEnv_c parent)
Method Detail |
---|
public void setSolver(Solver s)
LabelEnv
setSolver
in interface LabelEnv
public PrincipalHierarchy ph()
public boolean hasVariables()
LabelEnv
hasVariables
in interface LabelEnv
public void addActsFor(Principal p1, Principal p2)
public void addEquiv(Principal p1, Principal p2)
public void addAssertionLE(Label L1, Label L2)
public void addEquiv(Label L1, Label L2)
public LabelEnv_c copy()
public boolean actsFor(Principal p, Principal q)
actsFor
in interface LabelEnv
public boolean leq(Label L1, Label L2)
leq
in interface LabelEnv
public boolean equivalentAccessPaths(AccessPath p, AccessPath q)
equivalentAccessPaths
in interface LabelEnv
public void addEquiv(AccessPath p, AccessPath q)
protected java.util.Set<java.io.Serializable> equivAccessPaths(AccessPathRoot p)
public boolean leq(Label L1, Label L2, LabelEnv.SearchState state)
leq
in interface LabelEnv
protected java.lang.Boolean checkCache(jif.types.hierarchy.LabelEnv_c.LeqGoal g)
protected void cacheResult(jif.types.hierarchy.LabelEnv_c.LeqGoal g, LabelEnv.SearchState s, boolean result)
public boolean leq(Policy p1, Policy p2)
leq
in interface LabelEnv
public boolean leq(Policy p1, Policy p2, LabelEnv.SearchState state_)
leq
in interface LabelEnv
public boolean leq(ConfPolicy p1, ConfPolicy p2, LabelEnv.SearchState state)
public boolean leq(IntegPolicy p1, IntegPolicy p2, LabelEnv.SearchState state)
public boolean isEmpty()
isEmpty
in interface LabelEnv
public Label findUpperBound(Label L)
findUpperBound
in interface LabelEnv
public Label findNonArgLabelUpperBound(Label L)
findNonArgLabelUpperBound
in interface LabelEnv
protected Label findUpperBound(Label L, java.util.Collection<java.io.Serializable> seen, boolean noArgLabels)
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> definitions(VarMap bounds, java.util.Set seenComponents)
definitions
in interface LabelEnv
public Label triggerTransforms(Label label)
triggerTransforms
in interface LabelEnv
protected LabelEnv.SearchState freshSearchState()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |