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