Commit Graph
72 Commits
Author SHA1 Message Date
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
Mike Auty b745f41c6c Move the interface fo rthe SymbolSpace over to the interfaces module. 2016-12-28 22:50:52 +00:00
Mike Auty cf4ac3a7f6 Allow enumeration dictionaries to be accessed through the SymbolSpace directly. 2016-12-18 02:48:23 +00:00
Mike Auty ed716ca12a Convert SymbolTableInterfaces to descend from ConfigurableInterface
This allows SymbolTables to hold actual requirements (which
IntermedSymbolTable already did, but without pulling in the right
interface).  It means that values like kernel_virtual_offset get saved.

We still need to figure out how to allow plugins to demand optional
configuration values in other places (such as the kvo) but for now the
plugin will barf if it doesn't get it.
2016-12-12 02:08:32 +00:00
Mike Auty 667014a1fd Attempt to standardize error message display. 2016-10-30 17:51:45 +00:00
Mike Auty 6f1bdcb6cb Refactor symbol.offset to symbol.address. 2016-10-26 01:42:37 +01:00
Mike Auty 43aba96e3f Minor pylint (alphabetical imports) and refactoring the construct class to work for symbols. 2016-07-30 01:58:29 +01:00