--- findbugs-1.2.1/src/java/edu/umd/cs/findbugs/visitclass/BetterVisitor.java.orig 2007-07-06 05:03:56.000000000 +0200 +++ findbugs-1.2.1/src/java/edu/umd/cs/findbugs/visitclass/BetterVisitor.java 2007-07-06 05:05:26.000000000 +0200 @@ -39,6 +39,7 @@ import org.apache.bcel.classfile.ConstantString; import org.apache.bcel.classfile.ConstantUtf8; import org.apache.bcel.classfile.ConstantValue; +import org.apache.bcel.classfile.EmptyVisitor; import org.apache.bcel.classfile.ExceptionTable; import org.apache.bcel.classfile.Field; import org.apache.bcel.classfile.InnerClass; @@ -56,7 +57,6 @@ import org.apache.bcel.classfile.StackMapEntry; import org.apache.bcel.classfile.Synthetic; import org.apache.bcel.classfile.Unknown; -import org.apache.bcel.classfile.Visitor; /** @@ -65,7 +65,7 @@ * @author William Pugh * @version 980818 */ -public abstract class BetterVisitor implements Visitor { +public abstract class BetterVisitor extends EmptyVisitor { /** clone() is overridden to change access control from protected --- findbugs-1.3.4/src/java/edu/umd/cs/findbugs/ba/type/TypeAnalysis.java.orig 2008-05-01 09:43:52.000000000 -0400 +++ findbugs-1.3.4/src/java/edu/umd/cs/findbugs/ba/type/TypeAnalysis.java 2008-08-08 16:13:21.095611674 -0400 @@ -202,7 +202,8 @@ for(Attribute a : code.getAttributes()) { if (a instanceof LocalVariableTypeTable) { typeTable = (LocalVariableTypeTable) a; - for (LocalVariable v : typeTable.getLocalVariableTable()) { + for (int i = 0; i < typeTable.getTableLength(); i++) { + LocalVariable v = typeTable.getLocalVariable(i); int startPC = v.getStartPC(); if (startPC >= 0) startOfLocalTypedVariables.set(startPC); } @@ -376,7 +377,8 @@ if (typeTable != null) { int pos = handle.getPosition(); if (pos >= 0 && startOfLocalTypedVariables.get(pos)) - for(LocalVariable local : typeTable.getLocalVariableTable()) { + for (int i = 0; i < typeTable.getTableLength(); i++) { + LocalVariable local = typeTable.getLocalVariable(i); if (local.getStartPC() == pos) { String signature = local.getSignature(); Type t;