public class PrincipalConstraint extends Constraint
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
.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, toString
public 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 Constraint
protected 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