Commit Graph
113 Commits
Author SHA1 Message Date
Mike Auty b0b868d79c Typing: General typing fixes across the tree 2019-11-27 11:30:14 +00:00
Mike Auty 0e016797bb Typing: Change signatures to co-variant Mapping from Dict 2019-11-27 11:30:14 +00:00
Mike Auty b99ace86fb Tidy up exceptions to be more accurate. 2019-11-13 19:58:14 +00:00
Mike Auty 40fcdf9469 exceptions: SymbolErrors now contain specific information 2019-11-13 19:27:00 +00:00
xabiugarteandikelos 5b04492463 Fix on 'end_bit' computation 2019-11-11 17:03:04 +00:00
Mike Auty e0b9d72c84 Update the license URL and LICENSE.txt 2019-09-25 21:44:05 +01:00
Mike Auty 72567e1c50 Yapf-0.28.0 rerun across the whole codebase. 2019-09-21 21:08:23 +01:00
Mike Auty 7efe19224e Make several small typing information fixes. 2019-09-17 18:01:11 +01:00
Mike Auty e922cef316 Improve docstrings for all plugins, and reformat all docstrings. 2019-09-07 22:59:54 +01:00
Mike Auty 0cb5ca995c Correctly fix the intermediate file format versions. 2019-08-31 14:24:22 +01:00
Mike Auty c47ead41b1 Move to the SemVer versioning scheme. 2019-08-31 13:03:51 +01:00
Mike Auty a3caf39097 Use a mapping to determine kind to class. 2019-08-31 12:57:53 +01:00
Mike Auty 9cde94bceb Change the license blurb on all files. 2019-08-27 23:11:00 +01:00
Mike Auty 95f38aaf5d Fix up whitespace errors. 2019-08-18 01:22:10 +01:00
Mike Auty c66f7ff3fd Add a little extra documentation and fix a typo. 2019-08-18 01:20:56 +01:00
Mike Auty 6000d6c322 Update documentation around the Intermediary Symbol Format. 2019-08-17 23:22:04 +01:00
Mike Auty 848fe7391a Add in further pointer fixes. 2019-07-30 22:14:19 +01:00
Mike Auty 72b78fb94d Initially attempt at sorting out pointer issues. 2019-07-30 22:14:19 +01:00
Mike Auty ba868c7c27 Improve enumeration type naming. 2019-07-07 17:42:31 +01:00
Mike Auty db2809a0d4 Revert the enumeration base/type change. 2019-07-01 02:21:04 +01:00
Mike Auty 7c7de62900 Fix up long standing bugs in enumeration usage. 2019-07-01 00:17:08 +01:00
Mike Auty 94703d88d8 Fix up enumeration object creation. 2019-06-30 23:05:15 +01:00
Mike Auty 603512122d Allow class_types to be specified as part of SymbolTable construction. 2019-04-18 01:03:59 +01:00
Mike Auty 0a13942cd7 Add a missing property keyword for the metadata method. 2019-02-06 17:46:07 +00:00
Mike Auty c64ed6a8dd Remove validity checking in favour of static-type checking.
This removes the assertions that checked plugin devs didn't do anything
overly bad in favour of using mypy to ensure appropriate type-checking.

It also moves the ProgressCallback typing information to constants in
order to avoid circular imports (since constants doesn't import
anything).
2019-01-20 02:35:49 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Andrew Caseandikelos 8f213a95d7 vol_class -> CPPObject 2018-12-19 00:54:51 +00:00
Andrew Caseandikelos 6aac0571e6 add support for objective C classes in OSX and json format 2018-12-19 00:54:51 +00:00
Mike Auty 7f973f9e3e Refactor the ResourceAccessor so it can be used by layers. 2018-12-17 19:38:18 +00:00
Mike Auty 19572b6e1e Reformat all python files using yapf with custom volatility style. 2018-12-16 16:50:17 +00:00
Mike Auty 9824538bd9 Numerous pycharm warnings resolved
This includes:

* Better ways of checking empty lists
* Not shadowing builtin functions like filter
* Preventing invalid slash warnings by marking strings as regexps
* Removing unnecessary brackets
* Lowercase variable names
* Adding/updating parameters in docstrings
* Removing unused code (lines not chunks)
* Change in not a member tests
* Changing some methods to static
* Shorting range membership checks
* Missing parameters
* Make some exception handlers more specific
* Don't define a lambda to a variable
* A few more instance checks to help type checkers
2018-12-16 13:21:06 +00:00
Mike Auty 29d41470a4 Mass reformat of typing imports
Relented on the strict import of direct objects/classes for the typing
module only.  Typing module components can be directly imported because
it makes the code really painful to read and write otherwise.

This is still in-line with the python style guide adopted from Google at
http://google.github.io/styleguide/pyguide.html section 2.2.
2018-12-16 13:04:22 +00:00
Mike Auty b533d19f83 Refactor the data extraction for primitive types. 2018-12-13 18:33:42 +00:00
Mike Auty a78452e361 Fix up ugly int128 hack with a slightly nicer hack. 2018-12-13 15:56:24 +00:00
Andrew Caseandikelos 622c86f9ed Add initial mac backend code, with broken DTB finding, along with the pslist plugin 2018-12-13 15:56:24 +00:00
Mike Auty c9a08603c7 Move the get_requirements over to the IntermedSymbols which actually requires the parameter. 2018-12-13 01:39:26 +00:00
Mike Auty e3e1c4e00b Initial commit of pyinstaller spec. Some changes to path handling to help. 2018-10-30 23:56:34 +00:00
Mike Auty 241b7475fb Add in an initial implementation of the metadata system (extremely liable to change). 2018-10-30 15:01:31 +00:00
Mike Auty 03023e45eb Add in schema version 6. 2018-10-24 22:45:16 +01:00
Mike Auty f584be8d18 Fix up the linux symbol caching code. 2018-09-03 21:39:48 +01:00
Mike Auty 5668f271df Fix issue when handling zip files on windows. 2018-09-02 00:13:33 +01:00
Mike Auty dff7e6d6df Add in support for specific symbol directories. 2018-09-01 21:57:49 +01:00
Mike Auty 0f08432aa5 Refactor Symbol interface to SymbolInterface. 2018-08-09 14:28:08 +01:00
Mike Auty 99f8859549 It turns out that cloning native_templates was unnecessary or slow. Fix and document why clearly. 2018-08-09 12:49:51 +01:00
Mike Auty d08c29ffab Improve style to use default iterators rather than explicit ones. 2018-08-05 16:18:53 +01:00
Mike Auty b1d46f843b Convert documentation to napoleon/Google format docstrings. 2018-08-05 15:52:12 +01:00
Mike Auty 253304270b Ensure we can add native_types when we create tables. 2018-06-06 00:42:23 +01:00
Mike Auty 36dee38a9e Leave pointer out of the default types (since it needs an appropriate size). 2018-06-05 21:46:02 +01:00
Mike Auty 7a52ac9deb Fix a large number of typing issues.
There are several instances where mypy didn't detect

if blah is not None:
    blah = thing

and so were rewritten as:

blah = blah or thing
2018-06-04 01:25:02 +01:00
Mike Auty 6a6acd2dcc Move the table_mapping parameter to avoid disrupting the previous interface. 2018-05-30 18:37:29 +01:00