Package org.codehaus.groovy.classgen.asm

# Class BytecodeVariable

java.lang.Object
org.codehaus.groovy.classgen.asm.BytecodeVariable

public class BytecodeVariable extends Object
Represents compile time variable metadata while compiling a method.

Author:
  James Strachan, Jochen Theodorou

## Field Summary

Fields
Modifier and Type
Field
Description
`static final BytecodeVariable`
`SUPER_VARIABLE`
`static final BytecodeVariable`
`THIS_VARIABLE`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`org.objectweb.asm.Label`
`getEndLabel()`
`int`
`getIndex()`
`String`
`getName()`
`int`
`getPrevIndex()`
`org.objectweb.asm.Label`
`getStartLabel()`
`ClassNode`
`getType()`
`boolean`
`isDynamicTyped()`
`boolean`
`isHolder()`
`void`
`setDynamicTyped(boolean b)`
`void`
`setEndLabel(org.objectweb.asm.Label endLabel)`
`void`
`setHolder(boolean holder)`
`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 Details

### THIS_VARIABLE

public static final BytecodeVariable THIS_VARIABLE

### SUPER_VARIABLE

public static final BytecodeVariable SUPER_VARIABLE

## Constructor Details

### BytecodeVariable

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

## Method Details

### getName

public String getName()

### getType

public ClassNode getType()

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

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