Commit Graph
97 Commits
Author SHA1 Message Date
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
Mike Auty 33b2c9522d Add in support for ISF.create to handle table_mappings. 2018-05-23 22:26:52 +01:00
Mike Auty a5df5372f5 Add in table_mapping through the ISF classes. 2018-05-23 22:23:32 +01:00
Mike Auty 6402c94078 Rework IntermediateSymbolFile loading to a classmethod. 2018-04-12 15:15:25 +01:00
Mike Auty 66b64e5dfa Ensure symbol types are recursively resolved. 2018-03-20 23:53:13 +00:00
Mike Auty 942de5f166 Finish adding type-annotations thoughout the code. 2017-12-13 20:48:52 +00:00
Mike Auty 0ecf68af0f Support table remapping for referenced symbol names. 2017-11-27 14:39:46 +00:00
Mike Auty bbae34f1d5 Attempt to resolve issues with <python-3.6 json module not loading bytes. 2017-11-06 10:09:44 +00:00
Mike Auty 71d938d78b Add in support for looking for symbols in zip files.
We use the jar scheme because that's actually registered with the right
bodies, even if the syntax is a bit weird.  The contents is still
processed by the ResourceAccessor meaning it can be compressed with any
of the supported compression methods.
2017-11-05 22:29:46 +00:00
Mike Auty b6d932f4a5 Refactor the ResourceAccessor because it isn't an interface.
It's not strictly limited to layers either, but I don't really want to
create a whole extra generic file to put this in, so layers will do.
2017-11-05 21:27:56 +00:00
Mike Auty f6ac9c8367 Remove a no longer used function, so it doesn't get stuck in the API forever. 2017-11-05 15:28:38 +00:00
Mike Auty 671f65ed56 Centralize the ISF locating code.
This might benefit from a recache of the linux banners, although it
should continue to work no recache is performed.

We're now in a position to add support for loading symbols directly from
zip files by altering the ResourceAccessor and adding code to the
symbol finder.
2017-11-05 15:18:20 +00:00
Mike Auty 01043b9f3e Rework isf_filename to isf_url since we can load it from a remote location if required. 2017-11-04 15:47:52 +00:00
Mike Auty 4b7543f2f4 Unify the resource opening. 2017-11-02 21:46:39 +00:00
Mike Auty dbc73df8f2 Make sure we support windows filenames
Consider refactoring out the various URL openning code into
one that just returns the open file handle.  This would require changing
the config option of "filename" to "location" and rejigging a few other
bits elsewhere, but would centralize and make it more managable.
2017-11-02 11:56:03 +00:00
Mike Auty eeeda60bfb A couple more small documentation updates. 2017-08-11 19:30:39 +01:00
Mike Auty e434909e50 Make SymbolTable.symbols consistent with enumerations and types. 2017-08-11 19:25:13 +01:00