On Tue, Jul 27, 2004 at 09:33:51PM +0100, Neil Walkinshaw wrote:
I have attached GizmoGui$1.class as you requested. I have also attached GizmoGui.class and the source code. If you need the rest of the app to satisfy any dependencies the class has, I can send you the jar file, it's only 170k.
Thanks.
The problem was incorrect handling of the case when the local variable name table is missing an entry for a certain local. In this case, the variable was one that was generated by javac to pass the outer class into the anonymous inner class, and since it was generated, it had no name and therefore no table entry.
The attached patch fixes the problem in both soot-2.1.0 and on the trunk. To apply it, in your soot directory (one with src in it), do: patch -p0 < /tmp/patch.txt I've committed it as revision 1668 and it will be included in the next release of Soot.
Ondrej
Thanks alot for your help,
best regards,
Neil
------------------------------------------------------------------------
Index: src/soot/coffi/Util.java
===================================================================
--- src/soot/coffi/Util.java (revision 1664)
+++ src/soot/coffi/Util.java (working copy)
@@ -770,6 +770,7 @@
* @author Patrick Lam
*/
boolean isValidJimpleName(String prospectiveName) {
+ if(prospectiveName == null) return false;
for (int i = 0; i < prospectiveName.length(); i++) {
char c = prospectiveName.charAt(i);
if (i == 0 && c >= '0' && c <= '9')