Commit Graph

67 Commits

Author SHA1 Message Date
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
Dan Katz
64523d376c Fix namespace reflection bug. 2025-02-10 19:41:24 -05:00
Dan Katz
1d7e75e7a4 Parameters instantiated from packs don't have identifiers. 2025-02-08 12:50:19 -05:00
Dan Katz
27c4538e7d No querying access for members of classes currently being defined. 2025-02-07 08:53:13 -05:00
Dan Katz
90d6f412f2 Remove idempotency of 'define_aggregate'. 2025-02-05 17:46:38 -05:00
Dan Katz
0d647bec04 New rule for injected declarations.
Producing an injected declaration from a non-plainly constant-evaluated
expression fails constexpr, not renders ill-formed.
2025-01-28 14:09:31 -05:00