Mike Auty
2c60747355
Minor fix, small but might as well fix it.
2016-12-14 00:27:41 +00:00
Mike Auty
797e51608e
Move the masking code into the data layer.
2016-12-07 09:50:59 +00:00
Mike Auty
6cb5d06d6d
Ensure all offsets are normalized to fall within their layer's address range.
2016-12-07 00:07:57 +00:00
Mike Auty
667014a1fd
Attempt to standardize error message display.
2016-10-30 17:51:45 +00:00
Mike Auty
d1b58143fe
Add in UnresolvedTemplate type.
...
This template type allows objects that have not been able to be resolved
to exist within the symbol system. It emits a debug message on creation
so that intermediate format developers can identify potential issues,
but does not raise an exception so as to allow partial tables to be
used.
If the UnresolvedTemplate is called (to create an object) before the
symbol has been added to the symbolspace, it will fail with a
SymbolError (as thrown by the individual SymbolTable). For this reason,
the class has been made private to the SymbolSpace class to prevent
unexpected use.
2016-10-30 16:54:12 +00: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
9c9183feb2
API change: Alter cast to accept object parameters rather than inheriting (which usually will be wrong).
2016-02-14 01:40:25 +00:00
Mike Auty
df4a4d5e8d
Remove abstract method from classmethods (since it won't error if the abstract method isn't implemented until instantiation.
2016-01-10 16:30:37 +00:00
Mike Auty
bcbfee9016
Refactor the validity function names to make it easier for autocomplete to find.
2015-12-29 22:24:32 +00:00
Mike Auty
d258c56991
Rerun pylint with pycharm-5 and fix pep8 issues as well.
2015-11-21 13:12:00 +00:00
Mike Auty
cadb761f67
Fix documentation typo.
2015-01-05 16:01:14 +00:00
Mike Auty
49fa45cda1
Clean-up the namespace even more by putting the template proxy code into its own subclass.
2015-01-05 15:57:35 +00:00
Mike Auty
465bf03ad1
Fix casting.
2015-01-05 15:05:26 +00:00
Mike Auty
87967853f7
Convert volinfo namespace to vol namespace.
2015-01-05 15:04:40 +00:00
Mike Auty
0af0a5b21f
Avoid built-in shadowing.
2015-01-04 21:16:54 +00:00
Mike Auty
ea3ba27a04
Refactor template_* functions.
2015-01-04 20:52:34 +00:00
Mike Auty
95238f7f01
Eradicate **magic where possible and rename where appropriate.
2015-01-04 04:55:17 +00:00
Mike Auty
e9e7f396ed
Refactor ReadOnlyInformation to the more appropriate ReadOnlyMapping.
2015-01-04 04:54:02 +00:00
Mike Auty
8560aa8a55
Tidy up the Object calling interface.
2015-01-04 04:38:34 +00:00
Mike Auty
446536d789
Remove the concept of template_info and revert to structure_name alone.
2015-01-04 04:27:52 +00:00
Mike Auty
15b2f6f717
Initial introduction of ObjectInformation class.
2015-01-04 03:41:37 +00:00
Mike Auty
88afd32158
Create an initial divide between object_information and template_information.
2015-01-02 01:52:00 +00:00
Mike Auty
85f639fd83
Remove attempt at type checking through annotations.
2015-01-02 00:10:22 +00:00
Mike Auty
932662e453
Fix up refactoring of the get_structure method.
2014-12-31 21:04:39 +00:00
Mike Auty
811858aba8
Fix metaclass usage in python 3, and fill in some missing requirements.
2014-12-31 04:25:11 +00:00
Mike Auty
c1d054df10
Rename functions in validity to avoid future member name collisions.
2014-12-30 03:49:31 +00:00
Mike Auty
a97bd19988
Reformat and optimize code, including trailing whitespace and end of file newline.
2014-06-10 15:40:50 +01:00
Mike Auty
3da8bdf28a
Convert to using ABCMeta to get abstract class failures immediately rather than on method use.
2014-04-14 02:21:13 +01:00
Mike Auty
8e7ad364c7
Alter type/class checking structure so that it can be optimized out (either throws an exception or does nothing).
2014-04-08 00:59:08 +01:00
Mike Auty
50e8f6a627
Add in PyCharm IDE project details, and improve the sphinx apidoc autogeneration of documentation.
2014-04-02 02:44:55 +01:00
Mike Auty
3709143c40
Clean-up a few files according to PyCharm's warning system.
2014-03-28 08:47:00 +00:00
Mike Auty
5b23325447
Change symbol_names to structure_names.
2014-03-22 13:46:22 +00:00
Mike Auty
26f8d0f7cc
Add in write support, and change symbols to be both structures and constants.
2013-12-28 05:30:54 +00:00
Mike Auty
9c2e486356
Refactor code locations, tidy up object initializers and add in File Layer.
2013-05-06 17:45:15 +01:00