jif.types
Class PrincipalConstraint
java.lang.Object
jif.types.Constraint
jif.types.PrincipalConstraint
public class PrincipalConstraint
- extends Constraint
A PrincipalConstraint
represents a constraint on principals, which
may either be an actsfor or an equivalence constraint.
PrincipalConstraint
s are generated during type checking and label checking.
PrincipalConstraint
s in turn produce Equations
which are what the Solver
will use to find a satisfying
assignment for Variables
.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
EQUIV
public static final Constraint.Kind EQUIV
- An equivalence kind of constraint. That is, the constraint requires that
lhs actsfor rhs and rhs actsfor lhs.
ACTSFOR
public static final Constraint.Kind ACTSFOR
- An actsfor kind of constraint. That is, the constraint requires that
lhs actsfor rhs.
PrincipalConstraint
public PrincipalConstraint(Principal lhs,
Constraint.Kind kind,
Principal rhs,
LabelEnv env,
polyglot.util.Position pos,
ConstraintMessage msg,
boolean report)
lhsPrincipal
public Principal lhsPrincipal()
rhsPrincipal
public Principal rhsPrincipal()
getEquations
public java.util.Collection getEquations()
- Produce a
Collection
of Equations
for this
constraint.
- Specified by:
getEquations
in class Constraint
addActsforEqns
protected void addActsforEqns(java.util.Collection eqns,
Principal left,
Principal right)
- Produce equations that require
left
to act for right
,
and add them to eqns
.
hasVariables
public boolean hasVariables()
- Specified by:
hasVariables
in class Constraint