Package org.codehaus.groovy.transform.tailrec

# Class VariableExpressionTransformer

java.lang.Object
org.codehaus.groovy.transform.tailrec.VariableExpressionTransformer

All Implemented Interfaces:
  `ExpressionTransformer`

public class VariableExpressionTransformer extends Object implements ExpressionTransformer
An expression transformer used in the process of replacing the access to variables

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VariableExpressionTransformer(Closure<Boolean> when, Closure<VariableExpression> replaceWith)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Closure<VariableExpression>`
  `getReplaceWith()`
  `Closure<Boolean>`
  `getWhen()`
  `void`
  `setReplaceWith(Closure<VariableExpression> replaceWith)`
  `void`
  `setWhen(Closure<Boolean> when)`
  `Expression`
  `transform(Expression expr)`
  Transforms the given expression.

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

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

- ## Constructor Details

  - ### VariableExpressionTransformer

    public VariableExpressionTransformer(Closure<Boolean> when, Closure<VariableExpression> replaceWith)

- ## Method Details

  - ### transform

    public Expression transform(Expression expr)
    Description copied from interface: `ExpressionTransformer`
    Transforms the given expression.
    Specified by:
      `transform` in interface `ExpressionTransformer`
    Parameters:
      `expr` - the expression to transform, may be null
    Returns:
      the transformed expression, may be the same instance, a new instance, or null

  - ### getWhen

    public Closure<Boolean> getWhen()

  - ### setWhen

    public void setWhen(Closure<Boolean> when)

  - ### getReplaceWith

    public Closure<VariableExpression> getReplaceWith()

  - ### setReplaceWith

    public void setReplaceWith(Closure<VariableExpression> replaceWith)