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
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
dee8d83998
interrogate: fix regression with setter of MAKE_PROPERTY2
...
See also tobspr/RenderPipeline#86
2017-10-17 21:18:51 +02:00
rdb
bf190f7306
interrogate: support MAKE_MAP_PROPERTY
2017-10-09 00:02:46 +02:00
rdb
d1c34c3360
interrogate: support static properties
2017-08-07 22:04:56 +02:00
rdb
d6657baf29
cppparser: fix scope bug in constructor inits
...
This also fixes the Android build.
2017-05-25 13:20:11 +02:00
rdb
a175ad6a82
interrogate: fix compile error with default values that call scoped functions
2017-04-07 13:56:47 +02:00
Sam Edwards
ec3c2c5681
general: Fix missing include
2017-02-15 03:44:48 -07:00
rdb
18f09c48dd
cppparser: parse template friend declaration
2017-02-09 23:52:38 +01:00
rdb
c0191a3126
cppparser: update cppBison prebuilt files
2017-01-17 22:51:04 +01:00
rdb
e2771d39a9
cppparser: support for various C++11/C++14/C++17 features:
...
- decltype(auto)
- attributes (ie. [[deprecated]]), incl. with C++17 "using"
- extern template class (parses)
- sizeof struct members
- aggregate initialization
- initializers in capture lists
- alignas (parses)
2017-01-15 15:39:34 +01:00
rdb
e12420571b
cppparser: support C++11 lambda expressions
2017-01-14 22:37:33 +01:00
rdb
5aabd56697
cppparser: support C++11 raw string literals
2017-01-14 22:35:38 +01:00
rdb
40ea0ab786
cppparser: support directives __LINE__, __FILE__, __has_include
2017-01-04 22:46:57 +01:00
rdb
b182224463
interrogate: fix issues with abstract classes and covariance (fixes EggPolygon constructor)
2016-12-05 17:22:24 -05:00
rdb
a056543d5a
Support push_macro and pop_macro in cppparser
2016-12-05 02:02:25 +01:00
Sam Edwards
573dad8dde
general: Fix missing includes.
2016-11-30 19:21:34 -08:00
rdb
d54d43ac34
cppparser: fix issue with templated external method definitions
2016-11-03 18:04:14 +01: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
1467541b8d
Interrogate issues: "fix #pragma once" for files specified on command-line, fix "unexpected $end" not having line numbers when parsing template parameter list
2016-11-01 12:19:11 +01:00
Mitchell Stokes
59b0913b0b
Cleanup .gitignore files
...
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00
rdb
29ea65bb3f
Merge branch 'release/1.9.x'
2016-08-09 01:44:21 +02:00
rdb
db97747981
cppparser: Parse nonstandard specifier order like "const static"
2016-08-09 01:27:30 +02:00
rdb
8381118a97
Assorted tweaks and compile warning fixes
2016-07-14 12:54:39 +02:00
Sam Edwards
2933b8ed39
general: Fix missing includes.
2016-06-25 19:10:38 -07:00
rdb
242cc5f57d
Support template "using" definitions in interrogate
2016-05-31 18:48:32 +02:00
rdb
ce29ae490d
Interrogate improvements, more properties, MAKE_SEQ_PROPERTY
2016-05-11 00:16:53 +02:00
rdb
fb78fe6e2a
Interrogate enum class support (maps to Python 3.4 enums), sanify wrapper code
2016-05-07 00:45:26 +02:00
Sam Edwards
d28608aed1
cppparser: Fix missing includes.
2016-03-15 18:30:24 -07:00
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
9a38a6b075
Handle bool expressions separately in cppparser
2016-01-31 17:47:25 +01:00
rdb
83ed206551
Support implicitly generated copy constructor and default constructor in interrogate
2016-01-03 21:55:50 +01:00
rdb
be60303502
Support =default and =delete methods in Interrogate
2016-01-03 19:56:20 +01:00
rdb
cdc8d7d4d9
Interrogate should pick up definitions in all files explicitly named
2015-12-26 15:24:19 +01:00
rdb
db6f0342cc
Add properties with has/clear (interrogatedb v3.1)
2015-12-24 14:25:45 +01:00
rdb
1b857d6bda
A few interrogate improvements
2015-11-28 17:54:01 +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
Sam Edwards
5ebb6c511f
general: Fix missing includes.
2015-11-11 12:35:04 -08:00
rdb
db3ab953e4
Remove ppremake, genPyCode, and all hacks created to support them
2015-11-09 19:06:49 +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
Sam Edwards
3b667a83ed
general: Fix several missing includes.
2015-11-07 20:05:17 -08:00
rdb
d1732a4dca
Fix minor preprocessor bugs, particularly parsing files with CRLF
2015-11-08 02:10:38 +01:00
rdb
da17cce447
Fix error and warnings in 32-bit Windows build
2015-11-01 16:57:52 +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
6a0c98d54e
Work around strange interrogate issues
2015-10-13 15:40:48 +02:00