CodeQL library for Ruby
codeql/ruby-all 0.8.15-dev (changelog, source)
Search

Class ConstantWriteAccess

A definition of a constant.

Examples:

Foo = 1             # defines constant Foo as an integer
M::Foo = 1          # defines constant Foo as an integer in module M

class Bar; end      # defines constant Bar as a class
class M::Bar; end   # defines constant Bar as a class in module M

module Baz; end     # defines constant Baz as a module
module M::Baz; end  # defines constant Baz as a module in module M

Import path

import codeql.ruby.AST

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this node belongs.

getAQualifiedName

Gets a fully qualified name for this constant, based on the context in which it is defined.

Inherited predicates

getAChild

Gets a child node of this AstNode.

from AstNode
getAChild

Gets a child of this node, which can also be retrieved using a predicate named pred.

from ConstantAccess
getAControlFlowEntryNode

Gets a control-flow entry node for this statement, if any

from Stmt
getAControlFlowNode

Gets a control-flow node for this statement, if any.

from Stmt
getCfgScope

Gets the control-flow scope of this statement, if any.

from Stmt
getConstantValue

Gets the constant value of this expression, if any.

from Expr
getDesugared

Gets the desugared version of this AST node, if any.

from AstNode
getEnclosingCallable

Gets the enclosing callable, if any.

from Stmt
getEnclosingMethod

Gets the enclosing method, if any.

from AstNode
getEnclosingModule

Gets the enclosing module, if any.

from AstNode
getEnclosingToplevel

Gets the enclosing top-level.

from AstNode
getFile

Gets the file of this node.

from AstNode
getLocation

Gets the location of this node.

from AstNode
getName

Gets the name of the constant being accessed.

from ConstantAccess
getParent

Gets the parent of this AstNode, if this node is not a root node.

from AstNode
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from AstNode
getScopeExpr

Gets the expression used in the access’s scope resolution operation, if any. In the following example, the result is the Call expression for foo().

from ConstantAccess
hasGlobalScope

Holds if the access uses the scope resolution operator to refer to the global scope, as in this example:

from ConstantAccess
hasName

Holds if the name of the constant being accessed is name.

from ConstantAccess
isSynthesized

Holds if this node was synthesized to represent an implicit AST node not present in the source code. In the following example method call, the receiver is an implicit self reference, for which there is a synthesized Self node.

from AstNode
toString

Gets a textual representation of this node.

from ConstantAccess

Charpred