From: <wme...@us...> - 2009-08-26 10:33:28
|
Revision: 6723 http://jython.svn.sourceforge.net/jython/?rev=6723&view=rev Author: wmeissner Date: 2009-08-26 10:33:22 +0000 (Wed, 26 Aug 2009) Log Message: ----------- Use type() to create Array classes Modified Paths: -------------- branches/ctypes-jffi/Lib/ctypes/__init__.py Modified: branches/ctypes-jffi/Lib/ctypes/__init__.py =================================================================== --- branches/ctypes-jffi/Lib/ctypes/__init__.py 2009-08-26 10:08:56 UTC (rev 6722) +++ branches/ctypes-jffi/Lib/ctypes/__init__.py 2009-08-26 10:33:22 UTC (rev 6723) @@ -6,7 +6,8 @@ return type.__new__(cls, name, bases, dict) def __mul__(self, len): - return _ArrayType(jffi.Type.Array(self._jffi_type, len)) + dict = { '_jffi_type': jffi.Type.Array(self, len) } + return type("%s_%d" % (self.__name__, len), (_ArrayCData,), dict) class _ScalarCData(jffi.ScalarCData): __metaclass__ = _CTypeMetaClass @@ -16,11 +17,8 @@ size = classmethod(size) -class _ArrayType(object): - def __init__(self, jffi_type): - self._jffi_type = jffi_type - - def __call__(self, *args): +class _ArrayCData(object): + def __init__(self, *args): raise NotImplementedError("instantiating arrays is not implemented yet") def __len__(self): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |