Mercurial > paraspace
diff paraspace/injection.py @ 98:c0c127c7b37e
Check and fix issues of map sizes
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Mon, 25 Jul 2011 20:37:32 +0800 |
parents | 1769e52bdd9d |
children | 3898711adb2c |
line wrap: on
line diff
--- a/paraspace/injection.py Mon Jul 25 17:46:20 2011 +0800 +++ b/paraspace/injection.py Mon Jul 25 20:37:32 2011 +0800 @@ -37,10 +37,17 @@ def dex_type_2_array_attr_map(): global dex_type_2_array_attr_map from paraspace.dexfile import DEXFile, array + from paraspace.dex_deptracker import _marker + + def skip_marker_type(clazz): + while isinstance(clazz, _marker): + clazz = clazz.back_type + pass + return clazz attr_values = [(attr, getattr(DEXFile, attr)) for attr in dir(DEXFile)] - type_2_attr = dict([(value.child_type, attr) + type_2_attr = dict([(skip_marker_type(value.child_type), attr) for attr, value in attr_values if isinstance(value, array)])