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

Author:
  Jochen Theodorou

### Method Summary

Methods
`Expression` `getInitialExpression()` expression used to initialize the variable or null of there is no initialization.
`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 Detail

#### 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)