Commit Graph

40 Commits

Author SHA1 Message Date
rdb 7ff8b62fb8 interrogate: various fixes:
* handle static methods with explicit self
 * fix len() and __setitem__ of mapping types
 * fix inheritance of __getattr__ and __setattr__
 * fix overload resolution error with nullptr_t arguments
 * bool overloads now come after float/double overloads
 * record whether class is final in interrogatedb
 * add Dtool_EmptyTuple
 * optimization for final classes: no need for downcast
2017-09-19 18:46:21 +02:00
rdb d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +02:00
rdb 4283a63a7d Merge branch 'release/1.9.x' 2016-06-11 01:29:14 +02:00
rdb ba919b0948 Fix crash running TaskTester 2016-06-11 01:11:03 +02:00
rdb 5543716660 Interrogate wraps vector<unsigned char> as Python 3 bytes object 2016-06-03 01:47:54 +02:00
rdb ce29ae490d Interrogate improvements, more properties, MAKE_SEQ_PROPERTY 2016-05-11 00:16:53 +02:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb db6f0342cc Add properties with has/clear (interrogatedb v3.1) 2015-12-24 14:25:45 +01:00
rdb ac1c036cac interrogatedb 3.0 to restructure make_seq, improve make_seq handling and performance 2015-11-09 18:03:30 +01:00
rdb 920210c999 Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr 2015-10-16 14:57:40 +02:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb b63d5fbe8c Support cyclic garbage collection through PythonTask objects 2015-03-15 12:24:06 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb c178aba639 Add property support to interrogate (using MAKE_PROPERTY or using published members) 2014-09-19 15:23:52 +00:00
rdb e468b293d1 Fix a longstanding memory leak in certain interrogate exception handlers.
Raise MemoryError when constructor returns NULL.
Properly check argument count of constructors that take no arguments.
2014-08-26 17:17:37 +00:00
rdb f02662d4e0 Improve interrogate code readability, use METH_STATIC for static methods, support anonymous enums 2014-07-22 20:06:59 +00:00
rdb c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb 52e4acc0ce fix a crash with the python-obj, python and c interface makers 2013-11-08 10:30:27 +00:00
rdb cc3bae7e76 Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support 2013-09-17 10:11:43 +00:00
David Rose 9294ea77f7 interrogate supports wchar_t * and L"foo" 2011-11-29 23:25:23 +00:00
David Rose 4785161374 squelch some more compiler warnings 2011-06-18 00:16:48 +00:00
David Rose aa76a9f59d support class method versions of MAKE_SEQ 2010-06-13 22:03:46 +00:00
David Rose 816ddc0387 low-level support for python copy and pickle modules 2009-12-10 01:09:06 +00:00
David Rose 1872104e61 add per-overload comments and make_seq synthetic functions to interrogatedb 2009-09-15 13:36:07 +00:00
David Rose 383a6e512c support tinyxml's (const string *) return types. 2009-08-11 17:24:56 +00:00
David Rose 58e0537e3c wide interrogate improvements: sequence protocol, MAKE_SEQ, __setitem__, and parameter coercion 2008-11-07 21:12:42 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
Roger Hughston 42b3ba9c82 OSX big Commit ... 2006-03-17 22:55:08 +00:00
David Rose 59ceb897ed fix leaks, parameter checking in interrogate 2005-09-09 16:26:52 +00:00
David Rose 01c82da5df interrogate supports wstring 2005-07-13 15:37:56 +00:00
David Rose ac748503b4 dos2unix 2005-07-04 18:35:38 +00:00
Roger Hughston 63290756fe *** empty log message *** 2005-05-23 21:04:31 +00:00
David Rose b9cb0516aa new genPyCode, INSTALL_PYTHON_SOURCE 2004-06-03 17:26:32 +00:00
David Rose 843c0331ae update license, change remaining local #includes to use quotation marks 2004-02-13 19:27:33 +00:00
David Rose 23d9bf4583 properly enquote spam text 2002-12-04 21:08:44 +00:00
David Rose c77fcbe00a resurrect -spam 2002-11-27 21:33:27 +00:00
David Rose 756d334463 oops, invalid downcasts 2001-10-03 22:23:14 +00:00
David Rose 4cc5da5af0 robustify further for windows 2001-10-02 23:34:26 +00:00
David Rose 861c762e7d first wave of new ffi/interrogate 2001-10-02 22:25:32 +00:00