@@ -57,7 +57,9 @@ class RequiresExpr extends Expr, @requires_expr {
5757/**
5858 * A C++ requirement in a requires expression.
5959 */
60- class RequirementExpr extends Expr { }
60+ class RequirementExpr extends Expr {
61+ RequirementExpr ( ) { this .getParent ( ) instanceof RequiresExpr }
62+ }
6163
6264/**
6365 * A C++ simple requirement in a requires expression.
@@ -70,7 +72,6 @@ class RequirementExpr extends Expr { }
7072 */
7173class SimpleRequirementExpr extends RequirementExpr {
7274 SimpleRequirementExpr ( ) {
73- this .getParent ( ) instanceof RequiresExpr and
7475 not this instanceof TypeRequirementExpr and
7576 not this instanceof CompoundRequirementExpr and
7677 not this instanceof NestedRequirementExpr
@@ -89,8 +90,6 @@ class SimpleRequirementExpr extends RequirementExpr {
8990 * with `T` a template parameter, then `typename T::a_field;` is a type requirement.
9091 */
9192class TypeRequirementExpr extends RequirementExpr , TypeName {
92- TypeRequirementExpr ( ) { this .getParent ( ) instanceof RequiresExpr }
93-
9493 override string getAPrimaryQlClass ( ) { result = "TypeRequirementExpr" }
9594}
9695
@@ -140,7 +139,7 @@ class CompoundRequirementExpr extends RequirementExpr, @compound_requirement {
140139 * with `T` a template parameter, then `requires std::is_same<T, int>::value;` is
141140 * a nested requirement.
142141 */
143- class NestedRequirementExpr extends Expr , @nested_requirement {
142+ class NestedRequirementExpr extends RequirementExpr , @nested_requirement {
144143 override string toString ( ) { result = "requires ..." }
145144
146145 override string getAPrimaryQlClass ( ) { result = "NestedRequirementExpr" }
@@ -163,7 +162,7 @@ class NestedRequirementExpr extends Expr, @nested_requirement {
163162 * then `C<int, 1>` is a concept id expression that refers to
164163 * the concept `C`.
165164 */
166- class ConceptIdExpr extends RequirementExpr , @concept_id {
165+ class ConceptIdExpr extends Expr , @concept_id {
167166 override string toString ( ) {
168167 result = this .getConcept ( ) .getName ( ) + "<...>"
169168 or
0 commit comments