mirror of
https://github.com/github/codeql.git
synced 2025-12-20 02:44:30 +01:00
23 lines
738 B
Plaintext
23 lines
738 B
Plaintext
import ruby
|
|
import codeql.ruby.ast.internal.Module as M
|
|
|
|
query predicate constantAccess(ConstantAccess a, string kind, string name, string cls) {
|
|
(
|
|
a instanceof ConstantReadAccess and kind = "read"
|
|
or
|
|
a instanceof ConstantWriteAccess and kind = "write"
|
|
) and
|
|
name = a.getName() and
|
|
cls = a.getAPrimaryQlClass()
|
|
}
|
|
|
|
query Expr getConst(Module m, string name) { result = M::ExposedForTestingOnly::getConst(m, name) }
|
|
|
|
query Expr lookupConst(Module m, string name) { result = M::lookupConst(m, name) }
|
|
|
|
query predicate constantValue(ConstantReadAccess a, Expr e) { e = a.getValue() }
|
|
|
|
query predicate constantWriteAccessQualifiedName(ConstantWriteAccess w, string qualifiedName) {
|
|
w.getQualifiedName() = qualifiedName
|
|
}
|