Start building a dependency resolver for translation layers.

This commit is contained in:
Mike Auty
2015-12-29 22:13:10 +00:00
parent f7cc2ef00e
commit cf66d0b447
6 changed files with 56 additions and 135 deletions
+11
View File
@@ -1,4 +1,5 @@
"""Volatility 3 framework"""
import inspect
# ##
#
@@ -36,4 +37,14 @@ def require_version(*args):
".".join([str(x) for x in args[0:2]]))
def class_subclasses(cls):
"""Returns all the (recursive) subclasses of a given class"""
if not inspect.isclass(cls):
raise TypeError(repr(cls) + " is not a class.")
for clazz in cls.__subclasses__():
yield clazz
for return_value in class_subclasses(clazz):
yield return_value
from volatility.framework import interfaces, symbols, layers, contexts, configuration