Content-Length: 2158 | pFad | http://github.com/github/codeql/pull/20026.diff
thub.com diff --git a/cpp/ql/lib/semmle/code/cpp/Concept.qll b/cpp/ql/lib/semmle/code/cpp/Concept.qll index 5d7cd96ee38a..1770c1965ed2 100644 --- a/cpp/ql/lib/semmle/code/cpp/Concept.qll +++ b/cpp/ql/lib/semmle/code/cpp/Concept.qll @@ -57,7 +57,9 @@ class RequiresExpr extends Expr, @requires_expr { /** * A C++ requirement in a requires expression. */ -class RequirementExpr extends Expr { } +class RequirementExpr extends Expr { + RequirementExpr() { this.getParent() instanceof RequiresExpr } +} /** * A C++ simple requirement in a requires expression. @@ -70,7 +72,6 @@ class RequirementExpr extends Expr { } */ class SimpleRequirementExpr extends RequirementExpr { SimpleRequirementExpr() { - this.getParent() instanceof RequiresExpr and not this instanceof TypeRequirementExpr and not this instanceof CompoundRequirementExpr and not this instanceof NestedRequirementExpr @@ -89,8 +90,6 @@ class SimpleRequirementExpr extends RequirementExpr { * with `T` a template parameter, then `typename T::a_field;` is a type requirement. */ class TypeRequirementExpr extends RequirementExpr, TypeName { - TypeRequirementExpr() { this.getParent() instanceof RequiresExpr } - override string getAPrimaryQlClass() { result = "TypeRequirementExpr" } } @@ -140,7 +139,7 @@ class CompoundRequirementExpr extends RequirementExpr, @compound_requirement { * with `T` a template parameter, then `requires std::is_sameFetched URL: http://github.com/github/codeql/pull/20026.diff
Alternative Proxies: