Make sure we write an even number of bytes for an array data instruction

This commit is contained in:
Ben Gruver 2012-12-28 22:01:10 -08:00
parent e240310664
commit b64be8ba36

View File

@ -507,21 +507,25 @@ public class CodeItemPool {
for (Number element: elements) { for (Number element: elements) {
writer.write(element.byteValue()); writer.write(element.byteValue());
} }
return; break;
case 2: case 2:
for (Number element: elements) { for (Number element: elements) {
writer.writeShort(element.shortValue()); writer.writeShort(element.shortValue());
} }
return; break;
case 4: case 4:
for (Number element: elements) { for (Number element: elements) {
writer.writeInt(element.intValue()); writer.writeInt(element.intValue());
} }
return; break;
case 8: case 8:
for (Number element: elements) { for (Number element: elements) {
writer.writeLong(element.longValue()); writer.writeLong(element.longValue());
} }
break;
}
if ((writer.getPosition() & 1) != 0) {
writer.write(0);
} }
} }