From a32c7e27a9cc65dd6a5ad3b36ea4c8791c1003de Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Tue, 13 Dec 2016 19:40:18 +0000 Subject: [PATCH] Add in cryptic comments nearly lost during the vtypes purge. --- volatility/framework/symbols/intermed.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/volatility/framework/symbols/intermed.py b/volatility/framework/symbols/intermed.py index 419524724..c90fd8d90 100644 --- a/volatility/framework/symbols/intermed.py +++ b/volatility/framework/symbols/intermed.py @@ -12,6 +12,30 @@ from volatility.framework.symbols import native vollog = logging.getLogger(__name__) +# ## TODO +# +# All symbol tables should take a label to an object template +# +# Templates for subtypes etc should be looked up recursively just like anything else +# We therefore need a way to unroll rolled-up types +# Generate mangled names on the fly (prohibits external calling) +# +# Symbol list could be a dict with knowledge of its parent? +# Class split is arbitrary, it's an extension for developers +# Object template should contain both class and initial parameters +# +# +# *** Resolution should not happen in the resolve function +# It should only happen on access of contained types *** +# +# Recursive objects can be fixed by having caching the objects +# (however, they have to be built first!) +# +# Single hop resolution is probably the solution +# Could probably deal with it by having a property that caches +# for container types +# + def _construct_delegate_function(name, is_property = False): def _delegate_function(self, *args, **kwargs): if is_property: