Package: org.codehaus.groovy.macro.matcher

## [Java] Class TreeContext

- org.codehaus.groovy.macro.matcher.TreeContext

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `Expression` | `replacement`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `afterVisit(TreeContextAction action)`
    `` | `void` | `afterVisit(Closure<?> action)`
    `` | `TreeContext` | `fork(ASTNode node)`
    `` | `ASTNode` | `getNode()`
    `` | `List<TreeContextAction>` | `getOnPopHandlers()`
    `` | `TreeContext` | `getParent()`
    `` | `Expression` | `getReplacement()`
    `` | `List<TreeContext>` | `getSiblings()`
    `` | `Map<?, List<?>>` | `getUserdata()`
    `` | `List<?>` | `getUserdata(Object key)`
    `` | `List<?>` | `getUserdata(Object key, boolean searchParent)`
    `` | `boolean` | `matches(ASTNodePredicate predicate)`
    `` | `boolean` | `matches(Closure<Boolean> predicate)`
    `` | `void` | `putUserdata(Object key, Object value)`
    `` | `void` | `setReplacement(Expression replacement)`
    `` | `String` | `toString()`

  - ### Inherited Methods Summary

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

- - ### Property Detail

    - #### Expression replacement

  - ### Method Detail

    - #### public void afterVisit(TreeContextAction action)

    - #### public void afterVisit(@DelegatesTo(value=TreeContext.class, strategy=Closure.DELEGATE_FIRST) Closure<?> action)

    - #### public TreeContext fork(ASTNode node)

    - #### public ASTNode getNode()

    - #### public List<TreeContextAction> getOnPopHandlers()

    - #### public TreeContext getParent()

    - #### public Expression getReplacement()

    - #### public List<TreeContext> getSiblings()

    - #### public Map<?, List<?>> getUserdata()

    - #### public List<?> getUserdata(Object key)

    - #### public List<?> getUserdata(Object key, boolean searchParent)

    - #### public boolean matches(ASTNodePredicate predicate)

    - #### public boolean matches(@DelegatesTo(value=ASTNode.class, strategy=Closure.DELEGATE_FIRST) Closure<Boolean> predicate)

    - #### public void putUserdata(Object key, Object value)

    - #### public void setReplacement(Expression replacement)

    - #### @Override public String toString()