Package: org.codehaus.groovy.ast

## [Java] Interface Variable

- interface to mark a AstNode as Variable. Typically these are VariableExpression, FieldNode, PropertyNode and Parameter

  Authors:
    Jochen Theodorou

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `boolean` | `closureSharedVariable`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `Expression` | `getInitialExpression()` expression used to initialize the variable or null of there is no initialization.
    `` | `int` | `getModifiers()`
    `` | `String` | `getName()` the name of the variable
    `` | `ClassNode` | `getOriginType()` the type before wrapping primitives type of the variable
    `` | `ClassNode` | `getType()` the type of the variable
    `` | `boolean` | `hasInitialExpression()` returns true if there is an initialization expression
    `` | `boolean` | `isClosureSharedVariable()`
    `` | `boolean` | `isDynamicTyped()`
    `` | `boolean` | `isInStaticContext()` returns true if this variable is used in a static context.
    `` | `void` | `setClosureSharedVariable(boolean inClosure)`

- - ### Property Detail

    - #### boolean closureSharedVariable

  - ### Method Detail

    - #### public Expression getInitialExpression()

      expression used to initialize the variable or null of there is no initialization.

    - #### public int getModifiers()

    - #### public String getName()

      the name of the variable

    - #### public ClassNode getOriginType()

      the type before wrapping primitives type of the variable

    - #### public ClassNode getType()

      the type of the variable

    - #### public boolean hasInitialExpression()

      returns true if there is an initialization expression

    - #### public boolean isClosureSharedVariable()

    - #### public boolean isDynamicTyped()

    - #### public boolean isInStaticContext()

      returns true if this variable is used in a static context. A static context is any static initializer block, when this variable is declared as static or when this variable is used in a static method

    - #### public void setClosureSharedVariable(boolean inClosure)