Commit Graph

72 Commits

Author SHA1 Message Date
zebullax
4fd4f57ef9 Check against subst failure ouside of imm context (#206)
Signed-off-by: zebullax <zebullax@gmail.com>
2025-11-11 11:24:11 +09:00
zebullax
106b53472d Check against function in template_argument_of (#199) 2025-10-31 18:11:27 +09:00
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
zebullax
63a00eeeed Revert "Merge pull request #191 from bloomberg/dealiasRetTypeOfArg"
This reverts commit 21cba05736, reversing
changes made to c30343bfe5.

Signed-off-by: zebullax <zebullax@gmail.com>
2025-10-15 09:05:49 +09:00
zebullax
de6b834d80 Desugar type passed to return_type_of
Signed-off-by: zebullax <zebullax@gmail.com>
2025-10-11 10:46:07 +09:00
Dan Katz
2a631b61e3 Separate parameter/variable reflections. 2025-06-19 19:17:03 +03:00
Barry Revzin
a2548ff890 Fixing alignment_of references members (#153) 2025-06-13 07:52:18 -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
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
19eb496954 Correct handling of pointers into anonymous unions. 2025-06-03 13:59:02 -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
5a8802ca2f Fix constant_of on annotations. Fixes #143. 2025-05-29 18:03:34 -04:00
Dan Katz
3881ad9c3d type_of and is_noexcept instantiate the exception spec. 2025-05-29 16:13:09 -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
d62cc2e0ce Fix bug in parameter name consistency checking. 2025-05-14 16:10:01 -04:00
Dan Katz
f0ba3ac32b Merge branch 'p2996' into wip 2025-05-07 13:30:48 -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
d6eeb04705 Merge branch 'main' into wip 2025-05-06 11:30:41 -04:00
Dan Katz
fc1480d51f Fix 'bases_of' with aliases. 2025-05-03 16:57:13 -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
a9d1d75d32 Fixes to mangling and 'extract'. 2025-04-29 12:03:49 -04:00
Dan Katz
3819d2f1ba Disable substitute caching. 2025-04-24 14:30:19 -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
23a59a74a4 Dealias return types of function declarations. 2025-04-13 17:45:21 -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
0d42ff8944 Massive refactoring of splicing.
Also implements the template splicing grammars as specified by P2996
(including splice-scope-specifier, typename vs template, etc).
2025-04-03 16:31:10 -04:00
Dan Katz
e90d20e4a5 Merge branch 'main' into p2996 2025-03-25 11:55:13 -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
f4cb62ed24 Fix a crash. 2025-03-17 09:51:13 -04:00
Dan Katz
07d3fb4829 Instantiate from 'is_enumerable_type'. 2025-03-14 14:38:57 -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
9aa4b38a4d Experimental members_of restriction.
Don't return a reflection of a function unless it has a declaration
that inhabits its target scope for which the return type is not deduced.
2025-02-17 18:37:27 -05:00
Dan Katz
a24e7ccda5 Fix reflections of objects of non-structural type. 2025-02-14 13:54:06 -05:00
Dan Katz
f1bdfcc78e Enforce preconditions for unchecked access. 2025-02-14 10:20:58 -05:00
Dan Katz
d49d6e68c6 Skip functions with undeduced return types. 2025-02-14 09:52:21 -05:00
Dan Katz
c94bb7fee1 Experimental substitution caching. 2025-02-13 14:39:42 -05:00
Dan Katz
f35cbc2c3e Fix segfault. 2025-02-12 15:55:43 -05:00
Dan Katz
c6d41e7eec parent_of base specifier 2025-02-12 15:19:38 -05:00
Dan Katz
67ddd99ee3 Ban 'parent_of' on C language linkage. 2025-02-12 15:02:19 -05:00
Dan Katz
1ea72b5377 Handle enumerators properly in 'parent_of'. 2025-02-12 14:37:39 -05:00