/** {@inheritDoc} */ protected int placeItem(int offset) { offset += Leb128Utils.unsignedLeb128Size(staticFields.length); offset += Leb128Utils.unsignedLeb128Size(instanceFields.length); offset += Leb128Utils.unsignedLeb128Size(directMethods.length); offset += Leb128Utils.unsignedLeb128Size(virtualMethods.length); EncodedField previousEncodedField = null; for (EncodedField encodedField : staticFields) { offset = encodedField.place(offset, previousEncodedField); previousEncodedField = encodedField; } previousEncodedField = null; for (EncodedField encodedField : instanceFields) { offset = encodedField.place(offset, previousEncodedField); previousEncodedField = encodedField; } EncodedMethod previousEncodedMethod = null; for (EncodedMethod encodedMethod : directMethods) { offset = encodedMethod.place(offset, previousEncodedMethod); previousEncodedMethod = encodedMethod; } previousEncodedMethod = null; for (EncodedMethod encodedMethod : virtualMethods) { offset = encodedMethod.place(offset, previousEncodedMethod); previousEncodedMethod = encodedMethod; } return offset; }