org.codehaus.groovy.classgen

## Class Variable

- java.lang.Object
- - org.codehaus.groovy.classgen.Variable

    public class Variable
    extends Object

Represents compile time variable metadata while compiling a method.

Version:
  $Revision: 13934 $
Author:
  James Strachan, Jochen Theodorou

### Field Summary

Fields
`static Variable` `SUPER_VARIABLE`
`static Variable` `THIS_VARIABLE`

### Constructor Summary

Constructors
Constructor and Description
`Variable(int index, ClassNode type, String name, int prevCurrent)`

### Method Summary

Methods
`org.objectweb.asm.Label` `getEndLabel()`
`int` `getIndex()`
`String` `getName()`
`int` `getPrevIndex()`
`org.objectweb.asm.Label` `getStartLabel()`
`ClassNode` `getType()`
`String` `getTypeName()`
`boolean` `isDynamicTyped()`
`boolean` `isHolder()`
`boolean` `isProperty()`
`void` `setDynamicTyped(boolean b)`
`void` `setEndLabel(org.objectweb.asm.Label endLabel)`
`void` `setHolder(boolean holder)`
`void` `setProperty(boolean property)`
`void` `setStartLabel(org.objectweb.asm.Label startLabel)`
`void` `setType(ClassNode type)`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### THIS_VARIABLE

    public static final Variable THIS_VARIABLE

#### SUPER_VARIABLE

    public static final Variable SUPER_VARIABLE

### Constructor Detail

#### Variable

    public Variable(int index,
            ClassNode type,
            String name,
            int prevCurrent)

### Method Detail

#### getName

    public String getName()

#### getType

    public ClassNode getType()

#### getTypeName

    public String getTypeName()

#### getIndex

    public int getIndex()

Returns:
  the stack index for this variable

#### isHolder

    public boolean isHolder()

Returns:
  is this local variable shared in other scopes (and so must use a ValueHolder)

#### setHolder

    public void setHolder(boolean holder)

#### isProperty

    public boolean isProperty()

#### setProperty

    public void setProperty(boolean property)

#### getStartLabel

    public org.objectweb.asm.Label getStartLabel()

#### setStartLabel

    public void setStartLabel(org.objectweb.asm.Label startLabel)

#### getEndLabel

    public org.objectweb.asm.Label getEndLabel()

#### setEndLabel

    public void setEndLabel(org.objectweb.asm.Label endLabel)

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### setType

    public void setType(ClassNode type)

#### setDynamicTyped

    public void setDynamicTyped(boolean b)

#### isDynamicTyped

    public boolean isDynamicTyped()

#### getPrevIndex

    public int getPrevIndex()