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

Author:
  Jochen Theodorou

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