about summary refs log tree commit diff stats
path: root/miasm2/core
diff options
context:
space:
mode:
authorFlorent Monjalet <florent.monjalet@gmail.com>2015-12-21 11:29:37 +0100
committerFlorent Monjalet <florent.monjalet@gmail.com>2016-01-18 14:02:32 +0100
commite6ec6f9d800584234301733340b171092aac3f9a (patch)
tree71958d2d3a778303b27a34cbfdeeae50f3993755 /miasm2/core
parentf5f920ce597d0c4e03d0b79aa9b20a70e325cef9 (diff)
downloadmiasm-e6ec6f9d800584234301733340b171092aac3f9a.tar.gz
miasm-e6ec6f9d800584234301733340b171092aac3f9a.zip
Types: typo, MemStruct.get_offset should be a classmethod
Also added tests and MemArray.get_offset
Diffstat (limited to '')
-rw-r--r--miasm2/core/types.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/miasm2/core/types.py b/miasm2/core/types.py
index b6eaf0e4..bb7536e5 100644
--- a/miasm2/core/types.py
+++ b/miasm2/core/types.py
@@ -1362,9 +1362,10 @@ class MemStruct(MemType):
             offset = 0
         return self._addr + offset
 
-    def get_offset(self, field_name):
+    @classmethod
+    def get_offset(cls, field_name):
         """Shorthand for self.get_type().get_offset(field_name)."""
-        return self._type.get_offset(field_name)
+        return cls.get_type().get_offset(field_name)
 
     def get_field(self, name):
         """Get a field value by name.
@@ -1575,6 +1576,11 @@ class MemArray(MemType):
     def get_addr(self, idx=0):
         return self._addr + self.get_type().get_offset(idx)
 
+    @classmethod
+    def get_offset(cls, idx):
+        """Shorthand for self.get_type().get_offset(idx)."""
+        return cls.get_type().get_offset(idx)
+
     def __getitem__(self, idx):
         return self.get_type().get_item(self._vm, self._addr, idx)