Package org.codehaus.groovy.ast

# Interface Variable

All Known Implementing Classes:
  `DynamicVariable`, `FieldNode`, `Parameter`, `PropertyNode`, `VariableExpression`

    public interface Variable

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

- ## Method Summary

  Modifier and Type | Method | 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)` |

- ## Method Details

  - ### getType

    ClassNode getType()
    the type of the variable

  - ### getOriginType

    ClassNode getOriginType()
    the type before wrapping primitives type of the variable

  - ### getName

    String getName()
    the name of the variable

  - ### getInitialExpression

    Expression getInitialExpression()
    expression used to initialize the variable or null of there is no initialization.

  - ### hasInitialExpression

    boolean hasInitialExpression()
    returns true if there is an initialization expression

  - ### isInStaticContext

    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

  - ### isDynamicTyped

    boolean isDynamicTyped()

  - ### isClosureSharedVariable

    boolean isClosureSharedVariable()

  - ### setClosureSharedVariable

    void setClosureSharedVariable​(boolean inClosure)

  - ### getModifiers

    int getModifiers()