Commit Graph
73 Commits
Author SHA1 Message Date
Mike Auty 218567c228 Allow Context.module to create a SizedModule if a size is provided. 2018-08-09 14:53:21 +01:00
Mike Auty 0a55a7c3f2 Introduced SizedModules to simplify when we just don't care about the size. 2018-08-09 14:42:18 +01:00
Mike Auty 366269deb2 Refactor Module in interfaces to ModuleInterface. 2018-08-09 13:55:16 +01:00
Mike Auty b1d46f843b Convert documentation to napoleon/Google format docstrings. 2018-08-05 15:52:12 +01:00
Mike Auty 79d2bab44d A few additional typing fixes. 2018-07-22 13:29:43 +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 083fd43890 Ensure get_module_symbols_by_absolute_location only returns modules at the appropriate offset. 2018-07-19 09:22:57 +01:00
Mike Auty 5c41e05876 Improve Module construction.
The hash/size determination takes time, so make the hash generated on
use (so far, only on dedupe) and cache it, since it shouldn't change.

We also cache the Module construction, so that if it's done in a loop
(like pslist), it won't keep recaculating for the same module.
2018-07-18 21:46:56 +01:00
Mike Auty cc5b470602 Remove the caching to see if it's causing the exceptions. 2018-07-18 21:08:50 +01:00
Mike Auty ce05510413 Additional fixes for module collections. 2018-07-18 14:35:54 +01:00
Mike Auty 91e94440fe Add in hashing for module differentiation and additional collection features. 2018-07-18 00:42:48 +01:00
Mike Auty 5fbf923186 Fix documentation and try to guess the size where possible. 2018-07-17 21:15:09 +01:00
Mike Auty 9c06c25fae Add in support for module sizes. 2018-06-25 00:16:17 +01:00
Mike Auty c012842bd6 Refactor the name to be more accurate. 2018-06-21 00:27:38 +01:00
Mike Auty aedcf40fc2 Add support for separate symbol_tables and name in Modules. 2018-06-21 00:25:55 +01:00
Mike Auty f957b2915e Fix up issue having made optional parameters non-optional. 2018-06-04 09:39:38 +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 44ca819869 Minor documentation tweaks. 2018-05-13 01:05:56 +01:00
Mike Auty 3ce9ad93c7 Fix return types for ModuleCollections. 2018-05-10 02:40:26 +01:00
Mike Auty f23c4b51e4 Add in ModuleCollections for identifying symbols. 2018-05-07 00:05:01 +01:00
Mike Auty 623180ddbd Make many typing fixes, based on mypy-0.590. 2018-04-22 20:45:59 +01:00
Mike Auty 937fc5a289 Ensure that passing a type to be constructed doesn't wipe out pre-configured information. 2018-03-21 18:48:57 +00:00
Mike Auty ac12098317 Add type-annotations for reamining layer files. 2017-12-13 20:48:52 +00:00
Mike Auty f40fae197d Convert to python3.5 syntax (no local type-annotations). 2017-12-13 20:48:52 +00:00
Mike Auty 50b60c0df6 Add in more interfaces (and fix additional errors now that type information is available). 2017-12-13 20:48:52 +00:00
Mike Auty 2cc456e847 Finish off the automagic directory type annotations. 2017-12-13 20:48:52 +00:00
Mike Auty 0599ec8f36 Slightly improve potential error condition. 2017-09-03 23:17:07 +01:00
Mike Auty d32fc223e2 Fix up additional imports inconsistent with the coding style.
Note: also remove interfaces_configuration where ever possible
(this is not possible in the interfaces directory itself
because it would cause an import loop).
2017-08-09 22:32:44 +01:00
Mike Auty 5e15d522bd Remove automatic IDE-inserted attributions.
They weren't consistent and they show just remind me how slowly
I've been getting vol 3 written!  5:S

There's git commits to track all of that stuff if we need it.
2017-05-14 11:40:49 +01:00
Mike Auty f520176b2b Move the wrapper out to stop it seeming like a method. 2017-04-26 15:01:49 +01:00
Mike Auty 0c689de244 Fix up numerous silly mistakes. 2017-04-26 14:57:40 +01:00
Mike Auty 1d39c68799 All templates are equal (not just ObjectTemplates). 2017-04-26 14:51:56 +01:00
Mike Auty 6c4bd65b8a Change my mind on accepting a full symbol rather than just the type. 2017-04-26 10:04:40 +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 60ded760b6 Add in a first draft of a Module and context.module call. 2017-04-21 21:50:26 +01:00
Mike Auty dcc558717c Shift around the object_factory and add the symbol rebaser.
The object_factory is now a separate function, but to ease the
transition the object_factory method in Context has been left.
I'll most likely deprecate it before the full release, but I'm open the
idea of leaving it if someone can convince me it's a better decision.
2017-03-24 01:50:16 +00:00
Mike Auty 1abebe67db Further documentation improvements. 2016-12-29 03:14:40 +00:00
Mike Auty 16a8fcc6c7 Add in some context documentation. 2016-12-29 00:52:59 +00:00
Mike Auty 3578768e2d Correct odd/unnecessary typo. 2016-12-25 22:38:02 +00:00
Mike Auty 011b6dc3f4 Add in the object_factory capability and use it by example in pslist. 2016-12-25 19:02:48 +00:00
Mike Auty 8e334ca086 Remove fallthrough/default natives from symbol_spaces. 2016-12-25 18:37:54 +00:00
Mike Auty 3aa187e293 Fix minor lint with docstring. 2016-12-22 16:00:58 +00:00
Mike Auty 09ee0e6258 Fix fairly deep flaw where resolved templates could be modified by casting or creating an object. 2016-12-18 19:21:27 +00:00
Mike Auty a1b9be74c7 Refactor several configuration/requirement structures to avoid import loops. 2016-08-22 02:15:54 +01:00
Mike Auty e54505701f Refactor Memory into an interface. 2016-08-21 21:26:21 +01:00
Mike Auty e02feed16e Python 3 has a sane super() implementation (no arguments), so convert to using that. 2016-08-14 00:55:02 +01:00
Mike Auty 2d23c93def Completely refactor constants and structures to symbols and types. 2016-05-22 11:51:06 +01:00
Mike Auty 7db739279f Refactor configuration interfaces. 2016-01-16 13:24:25 +00:00
Mike Auty 4d4c5e63b9 Set a default for the HierarchicalDicts separator to use a constant. 2016-01-13 00:57:00 +00:00