Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
5.1
-
None
Description
This patch, adds another method to LocalVariableTable that looks up a
LocalVariable by index AND PC.
Index: src/java/org/apache/bcel/classfile/LocalVariableTable.java =================================================================== RCS file: /home/cvspublic/jakarta- bcel/src/java/org/apache/bcel/classfile/LocalVariableTable.java,v retrieving revision 1.3 diff -u -r1.3 LocalVariableTable.java --- src/java/org/apache/bcel/classfile/LocalVariableTable.java 23 May 2003 07:55:12 -0000 1.3 +++ src/java/org/apache/bcel/classfile/LocalVariableTable.java 5 Nov 2004 05:39:25 -0000 @@ -155,6 +155,19 @@ return null; } + /** @return matching variable using index when variable is used at supplied pc + */ + public final LocalVariable getLocalVariable(int index, int pc) { + for(int i=0; i < local_variable_table_length; i++) + if(local_variable_table[i].getIndex() == index) { + int start_pc = local_variable_table[i].getStartPC(); + int end_pc = start_pc + local_variable_table[i].getLength(); + return local_variable_table[i]; + } + + return null; + } + public final void setLocalVariableTable(LocalVariable[] local_variable_table) { this.local_variable_table = local_variable_table;