mirror of
https://github.com/github/codeql.git
synced 2025-12-19 10:23:15 +01:00
48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
import ruby
|
|
|
|
query predicate loops(Loop l, string lClass, Expr body, string bodyClass) {
|
|
l.getBody() = body and lClass = l.getAPrimaryQlClass() and bodyClass = body.getAPrimaryQlClass()
|
|
}
|
|
|
|
query predicate conditionalLoops(
|
|
ConditionalLoop l, string lClass, Expr cond, Expr body, string bodyClass
|
|
) {
|
|
l.getBody() = body and
|
|
lClass = l.getAPrimaryQlClass() and
|
|
bodyClass = body.getAPrimaryQlClass() and
|
|
cond = l.getCondition()
|
|
}
|
|
|
|
query predicate forExprs(ForExpr f, LhsExpr p, StmtSequence body, int i, Stmt bodyChild) {
|
|
p = f.getPattern() and
|
|
body = f.getBody() and
|
|
bodyChild = body.getStmt(i)
|
|
}
|
|
|
|
query predicate forExprsTuplePatterns(ForExpr f, DestructuredLhsExpr tp, int i, Expr cp) {
|
|
tp = f.getPattern() and
|
|
cp = tp.getElement(i)
|
|
}
|
|
|
|
query predicate whileExprs(WhileExpr e, Expr cond, StmtSequence body, int i, Stmt bodyChild) {
|
|
cond = e.getCondition() and
|
|
body = e.getBody() and
|
|
bodyChild = body.getStmt(i)
|
|
}
|
|
|
|
query predicate whileModifierExprs(WhileModifierExpr e, Expr cond, Expr body) {
|
|
cond = e.getCondition() and
|
|
body = e.getBody()
|
|
}
|
|
|
|
query predicate untilExprs(UntilExpr e, Expr cond, StmtSequence body, int i, Stmt bodyChild) {
|
|
cond = e.getCondition() and
|
|
body = e.getBody() and
|
|
bodyChild = body.getStmt(i)
|
|
}
|
|
|
|
query predicate untilModifierExprs(UntilModifierExpr e, Expr cond, Expr body) {
|
|
cond = e.getCondition() and
|
|
body = e.getBody()
|
|
}
|