org.codehaus.groovy.classgen.asm

## Class BytecodeVariable

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

-     public class BytecodeVariable
      extends java.lang.Object

  Represents compile time variable metadata while compiling a method.
  Author:
    James Strachan, Jochen Theodorou

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static BytecodeVariable` | `SUPER_VARIABLE`
    `static BytecodeVariable` | `THIS_VARIABLE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BytecodeVariable(int index, ClassNode type, java.lang.String name, int prevCurrent)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.objectweb.asm.Label` | `getEndLabel()`
    `int` | `getIndex()`
    `java.lang.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)`
    `java.lang.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 BytecodeVariable THIS_VARIABLE

    - #### SUPER_VARIABLE

          public static final BytecodeVariable SUPER_VARIABLE

  - ### Constructor Detail

    - #### BytecodeVariable

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

  - ### Method Detail

    - #### getName

          public java.lang.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 java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### setType

          public void setType(ClassNode type)

    - #### setDynamicTyped

          public void setDynamicTyped(boolean b)

    - #### isDynamicTyped

          public boolean isDynamicTyped()

    - #### getPrevIndex

          public int getPrevIndex()