jif.types.label

## Class VariableGatherer

- java.lang.Object
- - jif.types.LabelSubstitution
  - - jif.types.label.VariableGatherer

-     public class VariableGatherer
      extends LabelSubstitution

  This class is used to implement `Label.variables()`. It constructs a set of `Variable`s.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.Set<Variable>` | `variables`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `VariableGatherer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Label` | `substLabel(Label L)`
    `Principal` | `substPrincipal(Principal p)`

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

      `popLabel, pushLabel, recurseIntoChildren, stackContains, substAccessPath, substPolicy`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### variables

          public final java.util.Set<Variable> variables

  - ### Constructor Detail

    - #### VariableGatherer

          public VariableGatherer()

  - ### Method Detail

    - #### substLabel

          public Label substLabel(Label L)
                           throws polyglot.types.SemanticException

      Overrides:
        `substLabel` in class `LabelSubstitution`
      Throws:
        `polyglot.types.SemanticException`

    - #### substPrincipal

          public Principal substPrincipal(Principal p)
                                   throws polyglot.types.SemanticException

      Overrides:
        `substPrincipal` in class `LabelSubstitution`
      Throws:
        `polyglot.types.SemanticException`