Fixed issue with size calculation in placeValue

git-svn-id: https://smali.googlecode.com/svn/trunk@384 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
This commit is contained in:
JesusFreke@JesusFreke.com 2009-08-11 02:56:41 +00:00
parent 9cbb91a1be
commit ae7235f8df

View File

@ -119,25 +119,25 @@ public class ClassDataItem extends Item<ClassDataItem> {
EncodedField previousEncodedField = null;
for (EncodedField encodedField: staticFields) {
offset += encodedField.place(offset, previousEncodedField);
offset = encodedField.place(offset, previousEncodedField);
previousEncodedField = encodedField;
}
previousEncodedField = null;
for (EncodedField encodedField: instanceFields) {
offset += encodedField.place(offset, previousEncodedField);
offset = encodedField.place(offset, previousEncodedField);
previousEncodedField = encodedField;
}
EncodedMethod previousEncodedMethod = null;
for (EncodedMethod encodedMethod: directMethods) {
offset += encodedMethod.place(offset, previousEncodedMethod);
offset = encodedMethod.place(offset, previousEncodedMethod);
previousEncodedMethod = encodedMethod;
}
previousEncodedMethod = null;
for (EncodedMethod encodedMethod: virtualMethods) {
offset += encodedMethod.place(offset, previousEncodedMethod);
offset = encodedMethod.place(offset, previousEncodedMethod);
previousEncodedMethod = encodedMethod;
}
@ -448,7 +448,7 @@ public class ClassDataItem extends Item<ClassDataItem> {
offset += Leb128Utils.unsignedLeb128Size(method.getIndex() - previousIndex);
offset += Leb128Utils.unsignedLeb128Size(accessFlags);
offset += codeItem==null?1:Leb128Utils.unsignedLeb128Size(codeItem.getIndex());
offset += codeItem==null?1:Leb128Utils.unsignedLeb128Size(codeItem.getOffset());
return offset;
}