jif.ast

## Interface ActsForConstraintNode<Actor extends ActsForParam,Granter extends ActsForParam>

- All Superinterfaces:
    java.lang.Cloneable, ConstraintNode<ActsForConstraint<Actor,Granter>>, polyglot.util.Copy<polyglot.ast.Node>, polyglot.ast.Node, polyglot.ast.NodeOps, java.io.Serializable
  All Known Subinterfaces:
    LabelActsForLabelConstraintNode, LabelActsForPrincipalConstraintNode, PrincipalActsForPrincipalConstraintNode
  All Known Implementing Classes:
    ActsForConstraintNode_c, LabelActsForLabelConstraintNode_c, LabelActsForPrincipalConstraintNode_c, PrincipalActsForPrincipalConstraintNode_c

      public interface ActsForConstraintNode<Actor extends ActsForParam,Granter extends ActsForParam>
      extends ConstraintNode<ActsForConstraint<Actor,Granter>>

  An immutable representation of the Jif `ActsFor constraint`.

  Grammar: `actsFor (actor, granter)`

  The `ActsFor constraint` only appears in the `where` clause of a procedure header.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface polyglot.util.Copy

      `polyglot.util.Copy.Util`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `ActsForParamNode<Actor>` | `actor()` Gets the actor.
    `ActsForConstraintNode<Actor,Granter>` | `actor(ActsForParamNode<Actor> actor)` Returns a copy of this node with the actor updated.
    `ActsForParamNode<Granter>` | `granter()` Gets the granter.
    `ActsForConstraintNode<Actor,Granter>` | `granter(ActsForParamNode<Granter> granter)` Returns a copy of this node with the granter updated.

    - ### Methods inherited from interface jif.ast.ConstraintNode

      `constraints, constraints`

    - ### Methods inherited from interface polyglot.ast.Node

      `del, del, dump, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitEdge`

    - ### Methods inherited from interface polyglot.ast.NodeOps

      `addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList`

    - ### Methods inherited from interface polyglot.util.Copy

      `copy`

- - ### Method Detail

    - #### actor

          ActsForParamNode<Actor> actor()

      Gets the actor.

    - #### actor

          ActsForConstraintNode<Actor,Granter> actor(ActsForParamNode<Actor> actor)

      Returns a copy of this node with the actor updated.

    - #### granter

          ActsForParamNode<Granter> granter()

      Gets the granter.

    - #### granter

          ActsForConstraintNode<Actor,Granter> granter(ActsForParamNode<Granter> granter)

      Returns a copy of this node with the granter updated.