jif.types

## Class PrincipalEquation

- java.lang.Object
- - jif.types.Equation
  - - jif.types.PrincipalEquation

-     public class PrincipalEquation
      extends Equation

  Principal equation derived from a principal constraint. A principal equation represents an actsfor relation that must be satisfied, namely `lhs actsfor rhs` in the environment `env`.
  See Also:
    `PrincipalConstraint`

- - ### Field Summary

    - ### Fields inherited from class jif.types.Equation

      `constraint`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `copy()`
    `LabelEnv` | `env()`
    `boolean` | `equals(java.lang.Object o)`
    `int` | `hashCode()`
    `Principal` | `lhs()`
    `polyglot.util.Position` | `position()`
    `PrincipalConstraint` | `principalConstraint()`
    `Principal` | `rhs()`
    `void` | `subst(LabelSubstitution subst)` Replace the `lhs` and `rhs` with the result of `lhs.subst(subst)` and `rhs.subst(subst)` respectively.
    `java.lang.String` | `toString()`
    `java.util.Set<Variable>` | `variables()` Return a `Set` of variables that occur in either the left or right hand side.

    - ### Methods inherited from class jif.types.Equation

      `constraint`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### lhs

          public Principal lhs()

    - #### rhs

          public Principal rhs()

    - #### env

          public LabelEnv env()

      Overrides:
        `env` in class `Equation`

    - #### position

          public polyglot.util.Position position()

      Overrides:
        `position` in class `Equation`

    - #### copy

          public java.lang.Object copy()

      Specified by:
        `copy` in class `Equation`

    - #### principalConstraint

          public PrincipalConstraint principalConstraint()

    - #### variables

          public java.util.Set<Variable> variables()

      Return a `Set` of variables that occur in either the left or right hand side.
      Specified by:
        `variables` in class `Equation`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `Equation`

    - #### equals

          public boolean equals(java.lang.Object o)

      Specified by:
        `equals` in class `Equation`

    - #### toString

          public java.lang.String toString()

      Specified by:
        `toString` in class `Equation`

    - #### subst

          public void subst(LabelSubstitution subst)
                     throws polyglot.types.SemanticException

      Replace the `lhs` and `rhs` with the result of `lhs.subst(subst)` and `rhs.subst(subst)` respectively.
      Specified by:
        `subst` in class `Equation`
      Throws:
        `polyglot.types.SemanticException`