Package net.sf.saxon.expr

## Interface BindingReference

- All Known Implementing Classes:
    `Assign`, `GlobalVariableReference`, `LocalVariableReference`, `VariableReference`

      public interface BindingReference

  BindingReference is a interface used to mark references to a variable declaration. The main implementation is VariableReference, which represents a reference to a variable in an XPath expression, but it is also used to represent a reference to a variable in a saxon:assign instruction.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `fixup​(Binding binding)` | Fix up this binding reference to a binding
    `void` | `setStaticType​(SequenceType type, GroundedValue constantValue, int properties)` | Fix up the static type of this variable reference; optionally, supply a constant value for the variable.

- - ### Method Detail

    - #### setStaticType

          void setStaticType​(SequenceType type,
                             GroundedValue constantValue,
                             int properties)

      Fix up the static type of this variable reference; optionally, supply a constant value for the variable. Also supplies other static properties of the expression to which the variable is bound, for example whether it is an ordered node-set.
      Parameters:
        `type` - The static type of the variable reference, typically either the declared type of the variable, or the static type of the expression to which the variable is bound
        `constantValue` - if non-null, indicates that the value of the variable is known at compile time, and supplies the value
        `properties` - static properties of the expression to which the variable is bound

    - #### fixup

          void fixup​(Binding binding)

      Fix up this binding reference to a binding
      Parameters:
        `binding` - the Binding to which the variable refers