Commit Graph
78 Commits
Author SHA1 Message Date
Mike Auty 8e420cbe62 Core: Multiple typing fixes across the tree 2020-08-16 22:22:24 +01:00
Hanno Heinrichsandikelos deb2b78312 Clear symbol cache after ASLR computation on Linux. 2020-06-23 16:45:22 +01:00
Mike Auty ede5ba07aa Symbols: Apply symbol_masking option to IntermediateSymbolTables 2020-06-10 19:39:20 +01:00
Mike Auty d6741435ef SymbolTables: Clear out the clone method and tidy up inheritance 2020-06-10 19:39:20 +01:00
Mike Auty 573590878a SymbolTable: Rework symbol_shift so it's part of the config 2020-06-10 19:39:20 +01:00
Mike Auty d9ac5300fa Move from using deepcopy to a clone method. 2020-06-10 19:39:20 +01:00
Mike Auty 0e016797bb Typing: Change signatures to co-variant Mapping from Dict 2019-11-27 11:30:14 +00:00
Mike Auty 40fcdf9469 exceptions: SymbolErrors now contain specific information 2019-11-13 19:27:00 +00:00
Mike Auty 9ac622afa0 Fix up import style to be consistent. 2019-10-01 23:46:02 +01:00
Mike Auty e0b9d72c84 Update the license URL and LICENSE.txt 2019-09-25 21:44:05 +01:00
Mike Auty e922cef316 Improve docstrings for all plugins, and reformat all docstrings. 2019-09-07 22:59:54 +01:00
Mike Auty c88044db5b Update more API documentation. 2019-09-04 00:34:55 +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 6000d6c322 Update documentation around the Intermediary Symbol Format. 2019-08-17 23:22:04 +01:00
Mike Auty f5615e28f6 Fix up more typing discrepancies. 2019-07-15 17:43:43 +01:00
Mike Auty e503c3667f Improve enumeration support. 2019-06-30 14:12:43 +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 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
Mike Auty 19572b6e1e Reformat all python files using yapf with custom volatility style. 2018-12-16 16:50:17 +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 241b7475fb Add in an initial implementation of the metadata system (extremely liable to change). 2018-10-30 15:01:31 +00:00
Mike Auty 059be517fc Fix up minor typing issues. 2018-08-29 23:29:00 +01:00
Mike Auty ee38c9c4fe Add in caching for the lengthy symbol sorting. 2018-08-23 17:29:16 +01:00
Mike Auty 0f08432aa5 Refactor Symbol interface to SymbolInterface. 2018-08-09 14:28:08 +01:00
Mike Auty 4897b7ab81 Fix up some typing errors. 2018-07-22 13:19:20 +01:00
Mike Auty 2f28dfa6c9 Support finding symbols by ranges. 2018-07-19 09:51:51 +01:00
Mike Auty b228ad8e95 Add comment concerning reconstructability of SymbolTables. 2018-06-06 23:10:21 +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 a5df5372f5 Add in table_mapping through the ISF classes. 2018-05-23 22:23:32 +01:00
Mike Auty f23c4b51e4 Add in ModuleCollections for identifying symbols. 2018-05-07 00:05:01 +01:00
Mike Auty c6a58ffc06 Fix up sphinx warnings. 2018-03-20 22:30:05 +00:00
Mike Auty ccb1903003 Fix up Symbol.name issue as spotted by npetroni. 2018-03-20 17:22:38 +00:00
Mike Auty b7c8961d50 Fix up the addition of the append method. 2018-02-10 23:43:29 +00:00
Mike Auty f3b6b5311f Fix up a couple extra typing issues, improving code quality. 2018-02-10 22:51:56 +00:00
Mike Auty 942de5f166 Finish adding type-annotations thoughout the code. 2017-12-13 20:48:52 +00:00
Mike Auty ee12b81f4a Add in type-annotations for renderers and start on symbols. 2017-12-13 20:48:52 +00:00
Mike Auty 21b4506b7b Add in type-annotations for the remaining interfaces. 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 2d570fdb62 Fix up the broken get_symbols_by_location call. 2017-11-23 01:36:16 +00:00
Mike Auty e90b4e2d02 Add and make use of free_table_name for symbol_spaces. 2017-09-03 22:54:42 +01:00
Mike Auty 2954d7433f Improve documentation and ordering. 2017-08-11 19:29:37 +01:00
Mike Auty e434909e50 Make SymbolTable.symbols consistent with enumerations and types. 2017-08-11 19:25:13 +01:00
Mike Auty d80fbf1a69 Fix validation typo preventing the newer symbols from properly working. 2017-07-10 00:04:29 +01:00
Mike Auty 5675942050 Add in symbol constant_data and bump the schema to 0.4.1.
Special thanks to @npetroni for having to suffer a very long discussion
with me about my need for things to have particular names because I
don't know the field very well.  5:S  Sorry!  5:)
2017-07-08 21:50:25 +01:00
Mike Auty f97a5b4700 All the object constructor to accept a Symbol as well as a name. 2017-04-26 09:59:47 +01:00
Mike Auty 08eb2bce96 Add in schema 2.1.0 and supporting code changes. 2017-02-13 22:39:20 +00:00
Mike Auty 6603e503c5 Rework enumeration access in symbol tables. 2017-02-04 14:46:46 +00:00
Mike Auty f0bc4ea59b Improve the symbol interface documentation, but it needs more work. 2016-12-30 02:46:40 +00:00