diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2017-08-03 20:12:51 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2017-08-07 16:42:35 +0200 |
| commit | 4d86620428f0d12f8796c569bf026ae14ce1e72e (patch) | |
| tree | 23f25c0842697ec31eba89e1ab1c459bf7e410c7 /miasm2/core/objc.py | |
| parent | 1375bab064edd7b09ed2038cd10b8445a84030c8 (diff) | |
| download | miasm-4d86620428f0d12f8796c569bf026ae14ce1e72e.tar.gz miasm-4d86620428f0d12f8796c569bf026ae14ce1e72e.zip | |
Objc: store function arguments'names
Diffstat (limited to '')
| -rw-r--r-- | miasm2/core/objc.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/miasm2/core/objc.py b/miasm2/core/objc.py index 89140ec9..3fe0e9fe 100644 --- a/miasm2/core/objc.py +++ b/miasm2/core/objc.py @@ -45,8 +45,8 @@ def objc_to_str(objc, result=None): break elif isinstance(objc, ObjCFunc): args_str = [] - for arg in objc.args: - args_str.append(objc_to_str(arg)) + for name, arg in objc.args: + args_str.append(objc_to_str(arg, name)) args = ", ".join(args_str) result += "(%s)" % args objc = objc.type_ret @@ -313,8 +313,8 @@ class ObjCFunc(ObjC): out.append("Function (%s) %s: (align: %d)" % (self.abi, self.name, self.align)) out.append(" ret: %s" % (str(self.type_ret))) out.append(" Args:") - for arg in self.args: - out.append(" %s" % arg) + for name, arg in self.args: + out.append(" %s %s" % (name, arg)) return '\n'.join(out) def __cmp__(self, other): @@ -1328,10 +1328,10 @@ class CTypesManager(object): type_id.type_ret, resolved, to_fix, lvl + 1) resolved[type_id.type_ret] = type_ret args = [] - for arg in type_id.args: + for name, arg in type_id.args: objc = self._get_objc(arg, resolved, to_fix, lvl + 1) resolved[arg] = objc - args.append(objc) + args.append((name, objc)) out = ObjCFunc(type_id.name, type_id.abi, type_ret, args, self.void_ptr.align, self.void_ptr.size) elif isinstance(type_id, CTypeEllipsis): @@ -1380,7 +1380,7 @@ class CTypesManager(object): return True elif isinstance(objc, ObjCFunc): assert self.check_objc(objc.type_ret, done) - for arg in objc.args: + for name, arg in objc.args: assert self.check_objc(arg, done) return True else: |