public interface LabelEnv
leq
".Modifier and Type | Interface and Description |
---|---|
static interface |
LabelEnv.SearchState
Encapsulates the solvers search state.
|
Modifier and Type | Method and Description |
---|---|
boolean |
actsFor(Principal p,
Principal q) |
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
definitions(VarMap bounds,
java.util.Set<Label> seenComponents)
Returns a Map of Strings to List[String]s which is the descriptions of any
components that appear in the environment.
|
boolean |
equivalentAccessPaths(AccessPath p,
AccessPath q)
This method checks if two access paths are equivalent.
|
Label |
findLowerBound(Label L)
Finds an lower bound for L using the assertions in this environment.
|
Label |
findNonArgLabelUpperBound(Label L)
Finds an upper bound for L that does not have any arg labels in it.
|
Label |
findUpperBound(Label L)
Finds an upper bound for L using the assertions in this environment.
|
boolean |
hasVariables()
Do any of the assertions in this label environment contain variables?
|
boolean |
isEmpty()
Is this environment empty, or does is contain some constraints?
|
java.util.Collection<LabelLeAssertion> |
labelAssertions()
The collection of label assertions
|
boolean |
leq(Label L1,
Label L2) |
boolean |
leq(Label L1,
Label L2,
LabelEnv.SearchState state) |
boolean |
leq(Policy p1,
Policy p2) |
boolean |
leq(Policy p1,
Policy p2,
LabelEnv.SearchState state) |
PrincipalHierarchy |
principalHierarchy()
The static principal hierarchy
|
void |
setSolver(Solver solver)
Set the solver used for this Label Environment.
|
Label |
triggerTransforms(Label label)
Trigger any writersToReaders transforms in label, and return the result.
|
boolean leq(Label L1, Label L2, LabelEnv.SearchState state)
boolean leq(Policy p1, Policy p2, LabelEnv.SearchState state)
Label findUpperBound(Label L)
Label findLowerBound(Label L)
Label findNonArgLabelUpperBound(Label L)
java.util.Map<java.lang.String,java.util.List<java.lang.String>> definitions(VarMap bounds, java.util.Set<Label> seenComponents)
java.util.Collection<LabelLeAssertion> labelAssertions()
PrincipalHierarchy principalHierarchy()
Label triggerTransforms(Label label)
boolean isEmpty()
boolean hasVariables()
void setSolver(Solver solver)
boolean equivalentAccessPaths(AccessPath p, AccessPath q)
p
- q
-