Package: org.codehaus.groovy.transform.tailrec

## [Groovy] Class VariableAccessReplacer

- org.codehaus.groovy.transform.tailrec.VariableAccessReplacer

-     @CompileStatic
      class VariableAccessReplacer
      extends Object

  Replace all access to variables and args by new variables. The variable names to replace as well as their replacement name and type have to be configured in nameAndTypeMapping before calling replaceIn(). The VariableReplacedListener can be set if clients want to react to variable replacement.

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `org.codehaus.groovy.transform.tailrec.VariableReplacedListener` | `listener`
    `Map<String, Map>` | `nameAndTypeMapping` Nested map of variable accesses to replace e.g.: [ 'varToReplace': [name: 'newVar', type: TypeOfVar], 'varToReplace2': [name: 'newVar2', type: TypeOfVar2], ]

  - ### Constructor Summary

    Constructors
    Constructor and description
    `VariableAccessReplacer ()`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `replaceIn(ASTNode root)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Property Detail

    - #### org.codehaus.groovy.transform.tailrec.VariableReplacedListener listener

    - #### Map<String, Map> nameAndTypeMapping

      Nested map of variable accesses to replace e.g.: [ 'varToReplace': [name: 'newVar', type: TypeOfVar], 'varToReplace2': [name: 'newVar2', type: TypeOfVar2], ]

  - ### Constructor Detail

    - #### VariableAccessReplacer()

  - ### Method Detail

    - #### void replaceIn(ASTNode root)