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.
PrincipalConstraints are generated during type checking and label checking.
PrincipalConstraints 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