Mercurial > paraspace
comparison paraspace/dexfile.py @ 123:78357afb4a9d
Test case for restore_dependencies()
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sat, 06 Aug 2011 19:09:15 +0800 |
parents | 7644cb633d4b |
children | 8e42b2816893 |
comparison
equal
deleted
inserted
replaced
122:6e4b6414789b | 123:78357afb4a9d |
---|---|
303 bits = None | 303 bits = None |
304 | 304 |
305 def __init__(self, bits): | 305 def __init__(self, bits): |
306 self.bits = bits | 306 self.bits = bits |
307 pass | 307 pass |
308 | 308 |
309 def parse(self, parent, data, off): | 309 def recompute_align(self, off): |
310 mask = (1 << self.bits) - 1 | 310 mask = (1 << self.bits) - 1 |
311 padding_sz = ((off + mask) & ~mask) - off | 311 padding_sz = ((off + mask) & ~mask) - off |
312 return padding_sz | 312 return padding_sz |
313 | |
314 def parse(self, parent, data, off): | |
315 return self.recompute_align(off) | |
313 | 316 |
314 @staticmethod | 317 @staticmethod |
315 def sizeof(v): | 318 def sizeof(v): |
316 return v | 319 return v |
317 | 320 |
889 'type unused size offset'.split() | 892 'type unused size offset'.split() |
890 pass | 893 pass |
891 | 894 |
892 | 895 |
893 class _DEX_MapItemBlock(composite): | 896 class _DEX_MapItemBlock(composite): |
897 padding = auto_align(2) | |
894 num = uint32 | 898 num = uint32 |
895 items = array('num', _DEX_MapItem) | 899 items = array('num', _DEX_MapItem) |
896 | 900 |
897 child_names = 'num items'.split() | 901 child_names = 'padding num items'.split() |
898 pass | 902 pass |
899 | 903 |
900 | 904 |
901 class _DEX_StringId(composite): | 905 class _DEX_StringId(composite): |
902 stringDataOff = depend_off('_DEX_StringDataItem')(uint32) | 906 stringDataOff = depend_off('_DEX_StringDataItem')(uint32) |