Support for opcodes + doc + new tests + static attribute loading from init()#24
Open
drake-mer wants to merge 32 commits into
Open
Support for opcodes + doc + new tests + static attribute loading from init()#24drake-mer wants to merge 32 commits into
drake-mer wants to merge 32 commits into
Conversation
Add integer object and some opcodes
- create a `src/` directory for the source tree - move the test infra to pytest (and update README.md to reflect that) - various py3 compatibility improvement - adapt the way `Source` object are created to allow for line list - create a `utils` directory for standalone boilerplate scripts
- Int can be '-0xaa' or '0xaa'
- use literal_eval for integers values - insert in a data table the list of dalvik codes - write some tests about parsing of expressions - set up pytest.ini for doctest strings and ignore utils/ - create a new `parser` module for parsing smali expressions - set the example in the `utils/` folder. - update README.md accordingly - ignore .pytest_cache in .gitignore
- Avoid mutable state in default argument - allow passing a string as well as a dict
- Add static method calls scenario in tests - Split test suit in test_static_calls and test_suite - add a conftest.py file for generic code being reused
efdeca5 to
9ed0c9b
Compare
c0c9543 to
00fceb1
Compare
[parser] add type argument parsing for method definitions [parser] read methods from smali file [clean init in string method] [metaclass] embryonary support for java classes The base idea is to use a metaclass for returning the class corresponding to the smali code, and be able to instanciate such classes as python class and execute seamlessly object methods and such. pep8 [py3 compat] py3/py2 compat quirks [emulator] various improvements [doc] add a documentation folder [emulator/scripting] add scripting support [emulator] succ. method calls Allow successive method calls in method by: - resetting vm state after execution of a given method - passing the current vm state to the newly executed method A cleaner design would eventually be needed ASAP but it works well in the current state. [doc] update doc for method calls [doc] update README.md [opcodes] add ushr-int opcode [classes] add support for classes [smaliv2] big refacto of architecture [fix some tests] [fix more tests] [py2/3 compat update]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.