summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/architecture.py2
-rw-r--r--python/callingconvention.py4
-rw-r--r--python/platform.py12
-rw-r--r--python/types.py4
4 files changed, 12 insertions, 10 deletions
diff --git a/python/architecture.py b/python/architecture.py
index 9af85934..416fa362 100644
--- a/python/architecture.py
+++ b/python/architecture.py
@@ -361,7 +361,7 @@ class Architecture(object):
cc = core.BNGetArchitectureCallingConventions(self.handle, count)
result = {}
for i in xrange(0, count.value):
- obj = callingconvention.CallingConvention(None, core.BNNewCallingConventionReference(cc[i]))
+ obj = callingconvention.CallingConvention(handle=core.BNNewCallingConventionReference(cc[i]))
result[obj.name] = obj
core.BNFreeCallingConventionList(cc, count)
return result
diff --git a/python/callingconvention.py b/python/callingconvention.py
index e029a6aa..e9825642 100644
--- a/python/callingconvention.py
+++ b/python/callingconvention.py
@@ -40,8 +40,10 @@ class CallingConvention(object):
_registered_calling_conventions = []
- def __init__(self, arch, name, handle = None):
+ def __init__(self, arch=None, name=None, handle=None):
if handle is None:
+ if arch is None or name is None:
+ raise ValueError("Must specify either handle or architecture and name")
self.arch = arch
self._pending_reg_lists = {}
self._cb = core.BNCustomCallingConvention()
diff --git a/python/platform.py b/python/platform.py
index 9ba7625f..1c2fdcd3 100644
--- a/python/platform.py
+++ b/python/platform.py
@@ -132,7 +132,7 @@ class Platform(object):
result = core.BNGetPlatformDefaultCallingConvention(self.handle)
if result is None:
return None
- return callingconvention.CallingConvention(None, result)
+ return callingconvention.CallingConvention(handle=result)
@default_calling_convention.setter
def default_calling_convention(self, value):
@@ -150,7 +150,7 @@ class Platform(object):
result = core.BNGetPlatformCdeclCallingConvention(self.handle)
if result is None:
return None
- return callingconvention.CallingConvention(None, result)
+ return callingconvention.CallingConvention(handle=result)
@cdecl_calling_convention.setter
def cdecl_calling_convention(self, value):
@@ -168,7 +168,7 @@ class Platform(object):
result = core.BNGetPlatformStdcallCallingConvention(self.handle)
if result is None:
return None
- return callingconvention.CallingConvention(None, result)
+ return callingconvention.CallingConvention(handle=result)
@stdcall_calling_convention.setter
def stdcall_calling_convention(self, value):
@@ -186,7 +186,7 @@ class Platform(object):
result = core.BNGetPlatformFastcallCallingConvention(self.handle)
if result is None:
return None
- return callingconvention.CallingConvention(None, result)
+ return callingconvention.CallingConvention(handle=result)
@fastcall_calling_convention.setter
def fastcall_calling_convention(self, value):
@@ -204,7 +204,7 @@ class Platform(object):
result = core.BNGetPlatformSystemCallConvention(self.handle)
if result is None:
return None
- return callingconvention.CallingConvention(None, result)
+ return callingconvention.CallingConvention(handle=result)
@system_call_convention.setter
def system_call_convention(self, value):
@@ -222,7 +222,7 @@ class Platform(object):
cc = core.BNGetPlatformCallingConventions(self.handle, count)
result = []
for i in xrange(0, count.value):
- result.append(callingconvention.CallingConvention(None, core.BNNewCallingConventionReference(cc[i])))
+ result.append(callingconvention.CallingConvention(handle=core.BNNewCallingConventionReference(cc[i])))
core.BNFreeCallingConventionList(cc, count.value)
return result
diff --git a/python/types.py b/python/types.py
index f8e416f4..84f38c91 100644
--- a/python/types.py
+++ b/python/types.py
@@ -274,7 +274,7 @@ class Type(object):
result = core.BNGetTypeCallingConvention(self.handle)
if result is None:
return None
- return callingconvention.CallingConvention(None, result)
+ return callingconvention.CallingConvention(handle=result)
@property
def parameters(self):
@@ -746,7 +746,7 @@ class TypeParserResult(object):
self.functions = functions
def __repr__(self):
- return "{types: %s, variables: %s, functions: %s}" % (self.types, self.variables, self.functions)
+ return "<types: %s, variables: %s, functions: %s>" % (self.types, self.variables, self.functions)
def preprocess_source(source, filename=None, include_dirs=[]):