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()`
  Returns the expression used to initialize the variable or null of there is no initialization.
  `int`
  `getModifiers()`
  `String`
  `getName()`
  Returns the name of the variable.
  `ClassNode`
  `getOriginType()`
  Returns the type before wrapping primitives type of the variable.
  `ClassNode`
  `getType()`
  Returns the type of the variable.
  `boolean`
  `hasInitialExpression()`
  Returns true if there is an initialization expression.
  `default boolean`
  `isClosureSharedVariable()`
  `boolean`
  `isDynamicTyped()`
  `default boolean`
  `isFinal()`
  `boolean`
  `isInStaticContext()`
  Returns true if this variable is used in a static context.
  `default boolean`
  `isPrivate()`
  `default boolean`
  `isProtected()`
  `default boolean`
  `isPublic()`
  `default boolean`
  `isStatic()`
  `default boolean`
  `isVolatile()`
  `default void`
  `setClosureSharedVariable(boolean inClosure)`

- ## Method Details

  - ### getName

    String getName()
    Returns the name of the variable.

  - ### getType

    ClassNode getType()
    Returns the type of the variable.

  - ### getOriginType

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

  - ### getInitialExpression

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

  - ### hasInitialExpression

    boolean hasInitialExpression()
    Returns true if there is an initialization expression.

  - ### isClosureSharedVariable

    default boolean isClosureSharedVariable()

  - ### setClosureSharedVariable

    default void setClosureSharedVariable(boolean inClosure)

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

  - ### getModifiers

    int getModifiers()

  - ### isFinal

    default boolean isFinal()
    Since:
      5.0.0

  - ### isPrivate

    default boolean isPrivate()
    Since:
      5.0.0

  - ### isProtected

    default boolean isProtected()
    Since:
      5.0.0

  - ### isPublic

    default boolean isPublic()
    Since:
      5.0.0

  - ### isStatic

    default boolean isStatic()
    Since:
      5.0.0

  - ### isVolatile

    default boolean isVolatile()
    Since:
      5.0.0