Files
codeql/ruby/ql/test/library-tests/ast/constants/constants.ql
2021-10-15 11:47:28 +02:00

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
}