--- findbugs-1.2.1/src/java/edu/umd/cs/findbugs/ba/XFactory.java.orig 2007-07-05 23:29:39.000000000 +0200 +++ findbugs-1.2.1/src/java/edu/umd/cs/findbugs/ba/XFactory.java 2007-07-05 23:31:41.000000000 +0200 @@ -113,7 +113,7 @@ } public static String canonicalizeString(String s) { - return ConstantUtf8.getCachedInstance(s).getBytes(); + return new ConstantUtf8(s).getBytes(); } /** * Create an XMethod object from a BCEL Method. --- findbugs-1.2.1/src/java/edu/umd/cs/findbugs/ba/type/TypeAnalysis.java.orig 2007-07-06 00:55:29.000000000 +0200 +++ findbugs-1.2.1/src/java/edu/umd/cs/findbugs/ba/type/TypeAnalysis.java 2007-07-06 00:59:31.000000000 +0200 @@ -202,9 +202,10 @@ for(Attribute a : code.getAttributes()) { if (a instanceof LocalVariableTypeTable) { typeTable = (LocalVariableTypeTable) a; - for (LocalVariable v : typeTable.getLocalVariableTable()) { - int startPC = v.getStartPC(); - if (startPC >= 0) startOfLocalTypedVariables.set(startPC); + for (int i = 0; i < typeTable.getTableLength(); i++) { + LocalVariable v = typeTable.getLocalVariable(i); + int startPC = v.getStartPC(); + if (startPC >= 0) startOfLocalTypedVariables.set(startPC); } } } @@ -385,7 +385,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; --- 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 <A HREF="http://www.cs.umd.edu/~pugh">William Pugh</A> * @version 980818 */ -public abstract class BetterVisitor implements Visitor { +public abstract class BetterVisitor extends EmptyVisitor { /** clone() is overridden to change access control from protected