Commit Graph

42 Commits

Author SHA1 Message Date
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb caa03c53dd Interrogate cppparser improvements, C++11/14/17 additions:
* Support trailing return type.
 * Ignore C++14 digit separators.
 * Parse C++14 binary number representations.
 * Support "using"-style type aliases.
 * Support decltype and auto with "new".
 * Remove silly "long float" and "long long float".
 * Support default visibility with class inheritance.
 * Remove -longlong hack since C++11 supports long long natively.
 * Support unary plus operator.
 * Preserve bitfield definitions.
 * Support constructor inits using braces.
 * Support override/final specifiers.
 * Ignore [[attributes]] in certain cases
 * Add support for typeid() in expressions
 * Parse (but ignore) lambda expressions
 * Differentiate between casts, add const_cast/reinterpret_cast
 * Support thread_local variables.
2016-02-16 01:18:51 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
rdb be60303502 Support =default and =delete methods in Interrogate 2016-01-03 19:56:20 +01:00
rdb db6f0342cc Add properties with has/clear (interrogatedb v3.1) 2015-12-24 14:25:45 +01:00
rdb c93e50ca05 Merge branch 'release/1.9.x'
Conflicts:
	.travis.yml
	dtool/src/cppparser/cppBison.cxx.prebuilt
	dtool/src/cppparser/cppBison.yxx
	makepanda/makepanda.py
2015-11-19 18:43:13 +01:00
rdb df4c4bc250 Fix various cppparser issues parsing the VRPN headers 2015-11-19 18:35:29 +01:00
rdb 909856c75d Improve interrogate diagnostics when encountering unknown types 2015-11-19 13:07:28 +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 155ae811aa Fix some edge cases for preprocessor, support auto keyword, MSVC compile fix 2015-10-17 02:54:07 +02: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 b65ad853fe Support C++11/14 features: nullptr, decltype, unicode literals, custom literals, alignof 2015-10-12 23:32:50 +02:00
rdb ba45120eac Try to stay compatible with Bison 2.5 (for Ubuntu precise), support C++11 and C++17 static_assert, improve error reporting, handle several gcc keyword aliases, fix bug handling preprocessor expression in which the same manifest occurs more than once 2015-10-11 16:52:33 +02:00
rdb 1c9ff40236 Require new Bison version on Windows, fallback to prebuilt files if not present 2015-10-10 16:29:14 +02:00
rdb e327c7e978 Vastly improve quality of Interrogate error messages, also fix erroneous location indications
This change also causes Interrogate to safely ignore "register" keywords in function parameters
2015-10-10 15:15:22 +02:00
rdb 6feef4e230 Interrogate now parses (and ignores) explicit template instantiations 2015-10-09 13:33:05 +02:00
rdb 7f3f546cdd Interrogate now parses "volatile" qualifier in instance identifiers correctly 2015-10-05 02:56:40 +02:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb 38d02fadf9 Fix various interrogate issues with parsing PhysX headers 2015-03-23 19:27:29 +01:00
rdb 34761a0b9b Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/cppparser/cppBison.yxx
2015-01-03 16:52:44 +01:00
rdb 368e1ca644 Support noexcept and rvalue references in C++ parser 2015-01-02 14:57:33 +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 a6229f1fac Support for comments in enums. Improve comment handling in C++ parser. Improve doxygen reference. Update interrogate interface. (Addendum to interrogatedb v2.3.) 2014-09-19 23:34:11 +00:00
rdb c178aba639 Add property support to interrogate (using MAKE_PROPERTY or using published members) 2014-09-19 15:23:52 +00:00
David Rose 633e697d54 allow typename keyword in lieu of class, in template declarations 2011-11-04 16:58:39 +00:00
rdb beb90c565f Add functionality allowing extension functions to interrogate 2011-01-02 15:14:02 +00:00
David Rose d3d778734d add '^' to const expressions 2010-05-06 22:50:31 +00:00
David Rose a6f4fb2377 operator bool () -> __nonzero__() 2009-01-20 03:17:44 +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 8392266935 BEGIN_PUBLISH .. END_PUBLISH applies to methods too 2007-07-13 21:22:22 +00:00
David Rose 346928ece7 support BLOCKING keyword 2007-04-18 21:51:36 +00:00
David Rose 03c35a63ff CHAR -> CHAR_TOK (avoid conflict with Windows SDK) 2006-04-06 17:51:24 +00:00
David Rose 572a146c24 untabify 2006-01-13 18:38:07 +00:00
David Rose 01c82da5df interrogate supports wstring 2005-07-13 15:37:56 +00:00
David Rose 3e548e3663 new interrogate, minor config changes 2004-10-28 18:33:45 +00:00
David Rose d231aa4421 support arbitrary parens around formal parameters 2002-09-27 22:30:50 +00:00
Joe Shochet bb33020f89 interrogate should look in /usr/include 2002-09-26 21:42:22 +00:00
David Rose bf8e7a911f remove incorrect doubled semicolon 2002-05-15 23:42:57 +00:00
cxgeorge 8ec48ecbda add missing ;'s 2002-05-15 21:32:42 +00:00
David Rose fcb24f02ef remove tab characters 2001-05-25 15:56:49 +00:00
David Rose ee8f10684d *** empty log message *** 2001-03-08 21:04:54 +00:00
David Rose 7a78284129 Initial revision 2000-10-04 00:15:23 +00:00