Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.bcel.generic
Class LocalVariableGen

    java.lang.Object
      |
      +--org.apache.bcel.generic.LocalVariableGen

All Implemented Interfaces:
  java.lang.Cloneable, InstructionTargeter, NamedAndTyped, java.io.Serializable

public class LocalVariableGen
extends java.lang.Object
implements InstructionTargeter, NamedAndTyped, java.lang.Cloneable, java.io.Serializable

This class represents a local variable within a method. It contains its scope, name and type. The generated LocalVariable object can be obtained with getLocalVariable which needs the instruction list and the constant pool as parameters.

Version:
  $Id: LocalVariableGen.java,v 1.3 2002/07/11 19:39:04 mdahm Exp $
Author:
  M. Dahm
See Also:
  `LocalVariable`, `MethodGen`, Serialized Form

Constructor Summary
`LocalVariableGen(int index, java.lang.String name, Type type, InstructionHandle start, InstructionHandle end)` Generate a local variable that with index `index'.

Method Summary
`java.lang.Object` | `clone()`
`boolean` | `containsTarget(InstructionHandle ih)`
`boolean` | `equals(java.lang.Object o)` We consider to local variables to be equal, if the use the same index and are valid in the same range.
`InstructionHandle` | `getEnd()`
`int` | `getIndex()`
`LocalVariable` | `getLocalVariable(ConstantPoolGen cp)` Get LocalVariable object.
`java.lang.String` | `getName()`
`InstructionHandle` | `getStart()`
`Type` | `getType()`
`void` | `setEnd(InstructionHandle end)`
`void` | `setIndex(int index)`
`void` | `setName(java.lang.String name)`
`void` | `setStart(InstructionHandle start)`
`void` | `setType(Type type)`
`java.lang.String` | `toString()`
`void` | `updateTarget(InstructionHandle old_ih, InstructionHandle new_ih)`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### LocalVariableGen

    public LocalVariableGen(int index,
                            java.lang.String name,
                            Type type,
                            InstructionHandle start,
                            InstructionHandle end)

  Generate a local variable that with index `index'. Note that double and long variables need two indexs. Index indices have to be provided by the user.

Parameters:
  `index` - index of local variable
  `name` - its name
  `type` - its type
  `start` - from where the instruction is valid (null means from the start)
  `end` - until where the instruction is valid (null means to the end)

Method Detail

### getLocalVariable

    public LocalVariable getLocalVariable(ConstantPoolGen cp)

  Get LocalVariable object. This relies on that the instruction list has already been dumped to byte code or or that the `setPositions' methods has been called for the instruction list. Note that for local variables whose scope end at the last instruction of the method's code, the JVM specification is ambiguous: both a start_pc+length ending at the last instruction and start_pc+length ending at first index beyond the end of the code are valid.

  Parameters:
    `cp` - constant pool

### setIndex

    public void setIndex(int index)

### getIndex

    public int getIndex()

### setName

    public void setName(java.lang.String name)

  Specified by:
    `setName` in interface `NamedAndTyped`

### getName

    public java.lang.String getName()

  Specified by:
    `getName` in interface `NamedAndTyped`

### setType

    public void setType(Type type)

  Specified by:
    `setType` in interface `NamedAndTyped`

### getType

    public Type getType()

  Specified by:
    `getType` in interface `NamedAndTyped`

### getStart

    public InstructionHandle getStart()

### getEnd

    public InstructionHandle getEnd()

### setStart

    public void setStart(InstructionHandle start)

### setEnd

    public void setEnd(InstructionHandle end)

### updateTarget

    public void updateTarget(InstructionHandle old_ih,
                             InstructionHandle new_ih)

  Specified by:
    `updateTarget` in interface `InstructionTargeter`
  Parameters:
    `old_ih` - old target, either start or end
    `new_ih` - new target

### containsTarget

    public boolean containsTarget(InstructionHandle ih)

  Specified by:
    `containsTarget` in interface `InstructionTargeter`
  Returns:
    true, if ih is target of this variable

### equals

    public boolean equals(java.lang.Object o)

  We consider to local variables to be equal, if the use the same index and are valid in the same range.

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

### toString

    public java.lang.String toString()

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

### clone

    public java.lang.Object clone()

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.