* progress on typing
* finish typing analysis.py
* progress on typing dex/__init__.py
* finish pass at dex.__init__.py typing
* more types
* more typing, and fix circular imports using 'if TYPE_CHECKING' checking
* begin to change Generator->Iterator for typing, begin to returns that are type|None to Union[type,None] since that convention started in Python3.10 and Androguard supports 3.9+, and note current circular import issue.
* type|None only works in Python3.10+, which is too high of an assumption for Androguard..change these to Union[type,None]
* withoffset->with_offset
* fix circular import issue due to adding imports for typing
* types for permission loading
* apply type hints to bytecode module
* convert | to Union for further backwards compatibility, progress towards typing axml
* finish typing axml
* order imports, standardize type|None -> Union[type,None]
* fix type for get_certificate_name_string param
* explicitly import Name for typing
* standardize type|None -> Union[type,None]
* type annotate main
* fix some inaccurate hints
* type hint fixes
* add imports for typing
* remove unused import
* remove explicit dependence on typing_extensions, as we can do self-referencing type hints using 'from __future__ import annotations'..however note that typing_extensions is still installed by some underlying package.
To avoid iterating over all fields in order to find the ones a method
can read/write from/to, the Fields are now available through a
MethodAnalysis object. Additionally, the _new_instance and _cons_class
references are added to MethodAnalysis and ClassAnalysis for the same
reason as well as to avoid using xref_to to a non-existent method.
Dropped MethodClassAnalysis and pulled all functions
into MethodAnalysis.
This should also be slightly faster when creating xrefs,
as the method can not be looked up directly instead of using
an exhaustive search.
resolves#412
This should:
* resolve#222
The naming has changed and also the returned values are different now!
Note that these methods might not catch all occurences of API usage