public class PrincipalConstraint extends Constraint
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.Constraint.Kind| Modifier and Type | Field and Description |
|---|---|
static Constraint.Kind |
ACTSFOR
An actsfor kind of constraint.
|
static Constraint.Kind |
EQUIV
An equivalence kind of constraint.
|
| Constructor and Description |
|---|
PrincipalConstraint(Principal lhs,
Constraint.Kind kind,
Principal rhs,
LabelEnv env,
polyglot.util.Position pos,
ConstraintMessage msg,
boolean report) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addActsforEqns(java.util.Collection<Equation> eqns,
Principal left,
Principal right)
Produce equations that require
left to act for right,
and add them to eqns. |
java.util.Collection<Equation> |
getEquations()
Produce a
Collection of Equations for this
constraint. |
boolean |
hasVariables() |
Principal |
lhsPrincipal() |
Principal |
rhsPrincipal() |
detailMsg, env, isCanonical, kind, messages, msg, position, report, technicalMsg, toStringpublic static final Constraint.Kind EQUIV
public static final Constraint.Kind ACTSFOR
public PrincipalConstraint(Principal lhs, Constraint.Kind kind, Principal rhs, LabelEnv env, polyglot.util.Position pos, ConstraintMessage msg, boolean report)
public Principal lhsPrincipal()
public Principal rhsPrincipal()
public java.util.Collection<Equation> getEquations()
Collection of Equations for this
constraint.getEquations in class Constraintprotected void addActsforEqns(java.util.Collection<Equation> eqns, Principal left, Principal right)
left to act for right,
and add them to eqns.public boolean hasVariables()
hasVariables in class Constraint