Bug in LocalVariableTypeTableAttribute
The source code reads:
for( int i = 0; i < localVariableTypeTableLength; i++) {
LocalVariableType t = new LocalVariableType();
int start = cr.readUnsignedShort( off);
int length = cr.readUnsignedShort( off + 2);
t.start = getLabel( labels, start);
t.end = getLabel( labels, start + length);
t.name = cr.readUTF8( off + 4, buf);
t.signature = cr.readUTF8( off + 6, buf);
t.index = cr.readUnsignedShort( off + 8);
off += 10;
types.add(t);
}
return attr;
The problem is "types.add(t)". This is a mistake of "attr.types.add(t);", right?