You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bcel-dev@jakarta.apache.org by bu...@apache.org on 2004/11/05 06:45:05 UTC
DO NOT REPLY [Bug 32077] New: -
LocalVariableTable.getLocalVariable isn't good enough
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=32077>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=32077
LocalVariableTable.getLocalVariable isn't good enough
Summary: LocalVariableTable.getLocalVariable isn't good enough
Product: BCEL
Version: 5.1
Platform: PC
OS/Version: All
Status: NEW
Severity: Enhancement
Priority: Other
Component: Main
AssignedTo: bcel-dev@jakarta.apache.org
ReportedBy: dbrosius@qis.net
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;
---------------------------------------------------------------------
To unsubscribe, e-mail: bcel-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bcel-dev-help@jakarta.apache.org