@@ -57,7 +57,9 @@ class RequiresExpr extends Expr, @requires_expr {
57
57
/**
58
58
* A C++ requirement in a requires expression.
59
59
*/
60
- class RequirementExpr extends Expr { }
60
+ class RequirementExpr extends Expr {
61
+ RequirementExpr ( ) { this .getParent ( ) instanceof RequiresExpr }
62
+ }
61
63
62
64
/**
63
65
* A C++ simple requirement in a requires expression.
@@ -70,7 +72,6 @@ class RequirementExpr extends Expr { }
70
72
*/
71
73
class SimpleRequirementExpr extends RequirementExpr {
72
74
SimpleRequirementExpr ( ) {
73
- this .getParent ( ) instanceof RequiresExpr and
74
75
not this instanceof TypeRequirementExpr and
75
76
not this instanceof CompoundRequirementExpr and
76
77
not this instanceof NestedRequirementExpr
@@ -89,8 +90,6 @@ class SimpleRequirementExpr extends RequirementExpr {
89
90
* with `T` a template parameter, then `typename T::a_field;` is a type requirement.
90
91
*/
91
92
class TypeRequirementExpr extends RequirementExpr , TypeName {
92
- TypeRequirementExpr ( ) { this .getParent ( ) instanceof RequiresExpr }
93
-
94
93
override string getAPrimaryQlClass ( ) { result = "TypeRequirementExpr" }
95
94
}
96
95
@@ -140,7 +139,7 @@ class CompoundRequirementExpr extends RequirementExpr, @compound_requirement {
140
139
* with `T` a template parameter, then `requires std::is_same<T, int>::value;` is
141
140
* a nested requirement.
142
141
*/
143
- class NestedRequirementExpr extends Expr , @nested_requirement {
142
+ class NestedRequirementExpr extends RequirementExpr , @nested_requirement {
144
143
override string toString ( ) { result = "requires ..." }
145
144
146
145
override string getAPrimaryQlClass ( ) { result = "NestedRequirementExpr" }
@@ -163,7 +162,7 @@ class NestedRequirementExpr extends Expr, @nested_requirement {
163
162
* then `C<int, 1>` is a concept id expression that refers to
164
163
* the concept `C`.
165
164
*/
166
- class ConceptIdExpr extends RequirementExpr , @concept_id {
165
+ class ConceptIdExpr extends Expr , @concept_id {
167
166
override string toString ( ) {
168
167
result = this .getConcept ( ) .getName ( ) + "<...>"
169
168
or
0 commit comments