@@ -480,6 +480,20 @@ fun_decl_typedef_type(
480480 int typedeftype_id: @usertype ref
481481);
482482
483+ /*
484+ case @fun_requires.kind of
485+ 1 = @template_attached
486+ | 2 = @function_attached
487+ ;
488+ */
489+
490+ #keyset[id, kind]
491+ fun_requires(
492+ int id: @fun_decl ref,
493+ int kind: int ref,
494+ int constraint: @expr ref
495+ );
496+
483497param_decl_bind(
484498 unique int id: @var_decl ref,
485499 int index: int ref,
@@ -501,6 +515,10 @@ var_decl_specifiers(
501515 string name: string ref
502516)
503517is_structured_binding(unique int id: @variable ref);
518+ var_requires(
519+ unique int id: @var_decl ref,
520+ int constraint: @expr ref
521+ );
504522
505523type_decls(
506524 unique int id: @type_decl,
@@ -511,6 +529,10 @@ type_def(unique int id: @type_decl ref);
511529type_decl_top(
512530 unique int type_decl: @type_decl ref
513531);
532+ type_requires(
533+ unique int id: @type_decl ref,
534+ int constraint: @expr ref
535+ );
514536
515537namespace_decls(
516538 unique int id: @namespace_decl,
@@ -790,6 +812,11 @@ nontype_template_parameters(
790812 int id: @expr ref
791813);
792814
815+ type_template_type_constraint(
816+ unique int id: @usertype ref,
817+ int constraint: @expr ref
818+ );
819+
793820mangled_name(
794821 unique int id: @declaration ref,
795822 int mangled_name : @mangledname,
0 commit comments