Commit Graph

208 Commits

Author SHA1 Message Date
zebullax
08419a75ac Fix is_noexcept for implicit noexcept destructors when marked as default or deleted (#196) 2025-10-30 01:30:51 +09:00
zebullax
9171cf41ef Fix is_public and is_class_member for scoped/unscoped enum (#194)
* Add bubble up for unscoped enum in membership check

Check membership for public check access

Signed-off-by: zebullax <zebullax@gmail.com>

* Fix golden copy for generated headers

Signed-off-by: zebullax <zebullax@gmail.com>

* Skip validation of reflection unittest that introduce non ascii character

Signed-off-by: zebullax <zebullax@gmail.com>

* Check class membership for is_private/protected/public

Signed-off-by: zebullax <zebullax@gmail.com>

---------

Signed-off-by: zebullax <zebullax@gmail.com>
2025-10-22 17:46:23 +09:00
Dan Katz
a2bd2164c0 Serialization/Deserialization of expansion statements.
Should fix #165.
2025-06-30 14:20:19 -04:00
Barry Revzin
97a102f706 Improve <meta> compile time (#164)
* 1. Remove variant usage

* 2. Remove <algorithm>

* 3. Remove most of <ranges>
2025-06-29 09:30:19 -04:00
Dan Katz
9bcfc343cb Handle StructuralValue-type template arguments in define_aggregate.
Fixes #159.
2025-06-25 10:30:54 -04:00
Dan Katz
630bdd010b Update test includes. 2025-06-24 11:01:59 -04:00
Dan Katz
2a631b61e3 Separate parameter/variable reflections. 2025-06-19 19:17:03 +03:00
Dan Katz
bebe293731 No mixing annotations and attributes. 2025-06-19 10:02:34 +03:00
Barry Revzin
a2548ff890 Fixing alignment_of references members (#153) 2025-06-13 07:52:18 -04:00
Dan Katz
84be714bf8 Merge branch 'main' into wip 2025-06-11 14:35:33 -04:00
Dan Katz
b5a6e6d1f2 Merge branch 'p2996' into wip 2025-06-11 11:16:43 -04:00
Dan Katz
5b709111a9 Account for out-of-line declarations in members_of. 2025-06-10 10:35:24 -04:00
Dan Katz
59f41178cb Fix reflect_constant bug. 2025-06-08 18:52:44 -04:00
Dan Katz
b70a36652d Fix a few bugs.
- Use canonical decl for underlying_entity_of on entity proxies
- Skip non-canonical decls for namespace members_of
2025-06-04 14:11:41 -04:00
Dan Katz
5b2c490baa Fix that weird thing Barry found. 2025-06-03 15:36:30 -04:00
Dan Katz
7729ff85f9 Disable delayed access checking during 'is_accessible'.
Fixes #148.
2025-06-02 10:12:17 -04:00
Dan Katz
8013a76182 Force instantiation of Decls used as substitute arguments.
Fixes #147.
2025-06-01 10:17:50 -04:00
Dan Katz
312f240526 Fix bug in destructurable expansion statements.
I didn't entirely figure out what's going on here, but probably this
will be improved when clang implements constexpr structured bindings.
For now, just reach into the initializer of the holding variable and use
that.

Fixes #109 and #144.
2025-05-30 16:06:10 -04:00
Dan Katz
9b5188a261 Handle decl-type TemplateArguments in define_aggregate.
Fixes #145.
2025-05-30 08:56:09 -04:00
Dan Katz
5a8802ca2f Fix constant_of on annotations. Fixes #143. 2025-05-29 18:03:34 -04:00
Barry Revzin
e8b93df07e Adding reflect_constant_array (#140)
* Attempting to add reflect_constant_array

* Fixing extract from array

* Fixing test

* Adding bounded test case
2025-05-19 19:14:13 -04:00
Dan Katz
38da66472f reflect_constant / constant_of 2025-05-16 16:52:27 -04:00
Dan Katz
5383f737ca Extraction of arrays as pointers. 2025-05-16 12:00:24 -04:00
Dan Katz
3c580b668b 'underlying_entity_of', 'proxied_entity_of' for new paper. 2025-05-07 10:42:53 -04:00
Dan Katz
78ee982e44 Fix validation of 'reflect_value' results. 2025-05-07 09:23:38 -04:00
Dan Katz
16f4b13424 Fixes/improvements to 'substitute'. 2025-05-06 15:52:57 -04:00
Dan Katz
a11f0d2d14 Fix annotations bug. 2025-05-05 18:13:50 -04:00
Dan Katz
fc1480d51f Fix 'bases_of' with aliases. 2025-05-03 16:57:13 -04:00
Dan Katz
8c12bec3fa Fixes for dependent entity proxies.
Also fixes a crash in vanilla P2996 involving similar code.
2025-05-02 15:50:01 -04:00
Dan Katz
d5d35efe79 Entity proxies. 2025-05-02 11:09:40 -04:00
Dan Katz
90dc2ff8fc 'access_context::current()' is always value dependent. 2025-04-30 14:07:49 -04:00
Dan Katz
1741324742 Fix reflect_value contract.
Fixes #136.
2025-04-24 12:01:44 -04:00
Dan Katz
82ebef0585 Correct behavior for default mem-initializers used by inherited ctors. 2025-04-24 10:55:41 -04:00
Dan Katz
4ffd254378 Fix some accessibility corner case bugs.
Anonymous structs, anonymous unions, unscoped enums. You know, all of
the most important aspects of this wonderful language of ours.
2025-04-11 17:17:31 -04:00
Dan Katz
f70f4ab8ea Fix bug in type desugaring. 2025-04-10 15:26:47 -04:00
Dan Katz
0504407a85 Updates to 'access_context' and 'define_static_*'.
Accessors for the former; put the latter in 'std::*'.
2025-04-10 12:29:41 -04:00
Dan Katz
602b9969f3 Implement 'offset_of' for base class relationships.
Closes #129.
2025-03-25 08:11:08 -04:00
Dan Katz
2506603b82 Addressing #130. 2025-03-24 19:33:23 -04:00
Dan Katz
de3b85bba0 Merge branch 'main' into p2996 2025-03-14 11:39:15 -04:00
Dan Katz
80615006e5 Fix a few metafunction bugs. 2025-03-11 11:48:22 -04:00
Dan Katz
6724fb0d3f Implement 'is_enumerable_type'. 2025-03-07 17:12:23 -05:00
Dan Katz
bcc09531cb Add default member-initializer test. 2025-03-05 10:06:34 -05:00
Dan Katz
e39580dc8a Iterable expansion statements. 2025-03-03 13:19:35 -05:00
Dan Katz
d49d6e68c6 Skip functions with undeduced return types. 2025-02-14 09:52:21 -05:00
Dan Katz
c6d41e7eec parent_of base specifier 2025-02-12 15:19:38 -05:00
Dan Katz
1ea72b5377 Handle enumerators properly in 'parent_of'. 2025-02-12 14:37:39 -05:00
Dan Katz
1b074182c8 Handle anonymous union members. 2025-02-11 11:54:29 -05:00
Dan Katz
1d7e75e7a4 Parameters instantiated from packs don't have identifiers. 2025-02-08 12:50:19 -05:00
Dan Katz
90d6f412f2 Remove idempotency of 'define_aggregate'. 2025-02-05 17:46:38 -05:00
Dan Katz
4be27b0291 Cannot reflect NTTPs. 2025-02-05 11:33:56 -05:00