Bring relative_child_offset typing in line with practice.

This commit is contained in:
Mike Auty
2018-03-23 16:04:03 +00:00
parent 550a361143
commit efada8a15f
3 changed files with 6 additions and 6 deletions
+2 -2
View File
@@ -169,7 +169,7 @@ class ObjectInterface(validity.ValidityRoutines, metaclass = ABCMeta):
@classmethod
def relative_child_offset(cls,
template: 'Template',
child: 'Template') -> int:
child: str) -> int:
"""Returns the relative offset from the head of the parent data to the child member"""
raise KeyError("Template does not contain any children: {}".format(template.vol.type_name))
@@ -223,7 +223,7 @@ class Template(validity.ValidityRoutines):
"""Returns the size of the template"""
@abstractmethod
def relative_child_offset(self, child: 'Template') -> int:
def relative_child_offset(self, child: str) -> int:
"""Returns the relative offset of the `child` member from its parent offset"""
@abstractmethod
+3 -3
View File
@@ -456,9 +456,9 @@ class Array(interfaces.objects.ObjectInterface, abc.Sequence):
@classmethod
def relative_child_offset(cls,
template: interfaces.objects.Template,
child: interfaces.objects.Template) -> int:
child: str) -> int:
"""Returns the relative offset from the head of the parent data to the child member"""
if 'subtype' in template and child == 'subtype':
if 'subtype' in template.vol and child == 'subtype':
return 0
raise IndexError("Member not present in array template: {}".format(child))
@@ -551,7 +551,7 @@ class Struct(interfaces.objects.ObjectInterface):
@classmethod
def relative_child_offset(cls,
template: interfaces.objects.Template,
child: interfaces.objects.Template) -> int:
child: str) -> int:
"""Returns the relative offset of a child to its parent"""
retlist = template.vol.members.get(child, None)
if retlist is None:
+1 -1
View File
@@ -36,7 +36,7 @@ class ObjectTemplate(interfaces.objects.Template, validity.ValidityRoutines):
"""
return self.vol.object_class.VolTemplateProxy.children(self)
def relative_child_offset(self, child: interfaces.objects.Template) -> int:
def relative_child_offset(self, child: str) -> int:
"""Returns the relative offset of a child of the templated object (see :class:`~volatility.framework.interfaces.objects.ObjectInterface.VolTemplateProxy`)
"""
return self.vol.object_class.VolTemplateProxy.relative_child_offset(self, child)