Files
codeql/ruby/ql/test/library-tests/ast/control/CaseExpr.ql
2021-11-29 16:00:17 +01:00

20 lines
633 B
Plaintext

import ruby
query predicate caseValues(CaseExpr c, Expr value) { value = c.getValue() }
query predicate caseNoValues(CaseExpr c) { not exists(c.getValue()) }
query predicate caseElseBranches(CaseExpr c, StmtSequence elseBranch) {
elseBranch = c.getElseBranch()
}
query predicate caseNoElseBranches(CaseExpr c) { not exists(c.getElseBranch()) }
query predicate caseWhenBranches(CaseExpr c, WhenExpr when, int pIndex, Expr p, StmtSequence body) {
when = c.getABranch() and
p = when.getPattern(pIndex) and
body = when.getBody()
}
query predicate caseAllBranches(CaseExpr c, int n, Expr branch) { branch = c.getBranch(n) }