Commit Graph

371 Commits

Author SHA1 Message Date
Sam Edwards 95785407a3 CMake: General whitespace fixes
- Remove trailing whitespace from ends of lines
- Convert tabs to (two) spaces
2018-04-20 02:30:04 -06:00
Sam Edwards 56a6e6a80a Merge remote-tracking branch 'origin/master' into cmake 2018-04-20 01:57:46 -06:00
Sam Edwards 218d0e8ade CMake: Build dtool metalibs as metalibs 2018-04-19 00:07:08 -06:00
rdb 7125a3e587 interrogate: allow passing None for args that have NULL as default value 2018-04-05 20:49:13 +02:00
Sam Edwards 25b13ad199 Merge branch 'master' into cmake 2018-03-31 04:23:49 -06:00
rdb 8b6616814d interrogate_module: warn about circular dependencies between classes
This will help us catch cases wherein we inadvertently create a circular dependency between component libraries.  Right now it only checks inheritance and typedefs, but this can be expanded in the future.

Also, sorts the module initialization by dependency topology.  This isn't very important right now, but having this guarantee might help when refactoring module initialization in the future.
2018-02-27 20:23:36 +01:00
rdb fa231664bd interrogate: don't mark base types as global 2018-02-27 18:47:51 +01:00
rdb 2450f31ef5 interrogate: remove deprecated and unneeded downcastTo*() functions
They have not been needed for a very long time, and they create an awkward reverse dependency of base classes on derived classes.
2018-02-27 15:06:12 +01:00
Sam Edwards eda119dac4 Merge branch 'master' into cmake
# Conflicts:
#	.travis.yml
2018-02-04 17:12:51 -07:00
rdb 193e4b5f59 interrogate: clean py_panda.h; use macros to access Dtool_PyInstDef 2017-12-12 23:03:38 +01:00
rdb 18678214ae interrogate: pass "args" tuple to function that takes PyObject *args 2017-12-12 16:20:59 +01:00
rdb 69b3468b2c interrogate: more improvements to seq/map wrappers
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.

Fixes: #203
2017-11-27 17:29:50 +01:00
rdb 404842e70b interrogate: fix warning message caused by erroneously wrapped remap
Fixes: #191
2017-11-11 20:36:58 +01:00
rdb b8bf8bd641 interrogate: fix crash when calling functions returning TypedWritable 2017-11-08 00:04:00 +01:00
rdb 1b1d80cd27 More thoroughly fix issues with pickling Panda objects in Python 3
This also adds DatagramBuffer, a class for writing datagrams to memory and reading them from there again.
2017-11-08 00:02:35 +01:00
rdb 483a491ed7 interrogate: simplify coercion code
This remove support for coercing non-ReferenceCounted types that are neither default-constructible nor move-assignable, but it turns out none of the classes we really need it for matches that.
It further cuts down on the amount of code that is being generated to support coercion in cases where it makes absolutely no sense.
2017-11-06 19:53:38 +01:00
rdb 96d237377b interrogate: add various sequence/mapping methods to seq/map property 2017-11-05 18:01:39 +01:00
frainfreeze f22c0cdd83 Add README.md files for various directories
Closes: #10
2017-10-31 19:20:24 +01:00
rdb 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
rdb 51d948a7fa Support compilation for Python 3.7 2017-10-13 12:40:47 +02:00
rdb 464cd5fc8b Replace __builtin_expect macros with LIKELY/UNLIKELY 2017-10-09 00:22:28 +02:00
rdb bf190f7306 interrogate: support MAKE_MAP_PROPERTY 2017-10-09 00:02:46 +02:00
rdb 0e2b14cf4c pgraph: custom binding for set_shader_input()
Should be faster and more reliable at PTA handling
We no longer need the interrogate perf hack for the first-arg InternalName

Fixes: #161
2017-10-08 17:50:28 +02:00
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 d576c6b638 Improvements to generated API docs, especially in direct tree.
Also add an entry point for pfreeze.
2017-05-24 13:30:21 +02:00
rdb a387fb9f35 interrogate: nullptr handling, faster kwargs handling in some cases 2017-05-14 22:19:25 +02:00
rdb e1c916cdc3 interrogate: handle implicit destructors correctly 2017-04-02 14:44:51 +02:00
Sam Edwards 76a7c84330 Merge branch 'master' into cmake 2017-03-08 01:59:15 -07:00
Sam Edwards ea1ba281b5 interrogate: Add missing cast in generated calls to PyObject_INIT_VAR 2017-03-08 01:54:21 -07:00
Sam Edwards ed4725afa2 Merge branch 'master' into cmake 2017-02-15 03:46:00 -07:00
rdb cfe810ace7 Add set_shader_inputs for efficiently setting multiple shader inputs 2017-02-06 13:16:27 +01:00
Sam Edwards f1da5ce92f Merge branch 'master' into cmake 2017-01-09 17:59:22 -07:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
rdb 41d26284d7 Fix various compilation issues on Mac.
Work around bugs in Apple Clang that ships with XCode 4 with C++11 by disabling constexpr
Use move() instead of std::move()
It also looks like we'll have to continue using pystub for tools that use libp3interrogatedb for now.
2017-01-08 17:17:56 -05:00
rdb 8d305273dd Merge remote-tracking branch 'origin/master' into cmake 2016-12-07 23:05:40 +01:00
rdb 32377cb618 interrogate: fix to allow pointers to forcetyped classes 2016-12-07 23:04:15 +01:00
Sam Edwards e3fcacb1f7 Merge branch 'master' into cmake 2016-11-30 19:21:50 -08:00
rdb 22f0b50851 More Interrogate C++11 support changes:
* Parse variadic templates
 * Add (incomplete) type_traits support
 * Parse anonymous class template params
 * Parse volatile/lvalue/rvalue methods
 * Don't generate destructor for indestructible types
 * Add xmmintrin.h header
 * Allow invoking extensions with references
2016-11-03 12:17:11 +01:00
rdb 29411f5e14 Merge remote-tracking branch 'origin/release/1.9.x' 2016-10-31 22:32:39 +01:00
rdb 5832ab8099 Fix errors when trying to raise vectors to a power 2016-10-31 22:10:47 +01:00
rdb f1f4951fb5 Merge remote-tracking branch 'origin/release/1.9.x' 2016-10-13 00:25:57 +02:00
rdb 955ca0d334 Fix support for passing keyword arguments to methods named make()
such as *Attrib.make() and Shader.make()
2016-10-13 00:21:59 +02:00
rdb 33c6e21352 Fix regression that stopped buffer protocol from working 2016-08-09 01:45:26 +02:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb 8381118a97 Assorted tweaks and compile warning fixes 2016-07-14 12:54:39 +02:00
Sam Edwards fffd105f96 Merge branch 'master' into cmake 2016-06-25 19:12:14 -07:00
rdb 0821bec2d0 Backport 2f0bc01 to 1.9: Fix bug causing random crash during module initialization 2016-06-22 15:04:00 +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