qtil
advanced-security/qtil-ruby 0.0.2
Search

Class ModuleDeclaration

A module definition.

module Foo
  class Bar
  end
end

N.B. this class represents a single instance of a module definition. In the following example, classes Bar and Baz are both defined in the module Foo, but in two syntactically distinct definitions, meaning that there will be two instances of ModuleDeclaration in the database.

module Foo
  class Bar; end
end

module Foo
  class Baz; end
end

Import path

import codeql.ruby.ast.Module

Direct supertypes

Indirect supertypes

Known direct subtypes

    Predicates

    getAPrimaryQlClass

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

    getName

    Gets the name of the module/class. In the following example, the result is "Foo". rb class Foo end

    getScopeExpr

    Gets the scope expression used in the module/class name’s scope resolution operation, if any.

    hasGlobalScope

    Holds if the module/class name uses the scope resolution operator to access the global scope, as in this example:

    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 Namespace
    getAClass

    Gets a class defined in this module/class.

    from ModuleBase
    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
    getAMethod

    Gets a method defined in this module/class.

    from ModuleBase
    getAModule

    Gets a module defined in this module/class.

    from ModuleBase
    getAQualifiedName

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

    from ConstantWriteAccess
    getARescue

    Gets a rescue clause in this block.

    from BodyStmt
    getAStmt

    Gets a statement in this sequence.

    from StmtSequence
    getAVariable

    Gets a variable declared in this scope.

    from Scope
    getAnAncestorExpr

    Gets an expression denoting the super class or an included or prepended module.

    from ModuleBase
    getCfgScope

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

    from Stmt
    getClass

    Gets the class named name in this module/class, if any.

    from ModuleBase
    getConstant

    Gets the value of the constant named name, if any.

    from ModuleBase
    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
    getElse

    Gets the else clause in this block, if any.

    from BodyStmt
    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
    getEnsure

    Gets the ensure clause in this block, if any.

    from BodyStmt
    getFile

    Gets the file of this node.

    from AstNode
    getLastStmt

    Gets the last statement in this sequence, if any.

    from StmtSequence
    getLocation

    Gets the location of this node.

    from AstNode
    getMethod

    Gets the method named name in this module/class, if any.

    from ModuleBase
    getModule

    Gets the module named name in this module/class, if any.

    from ModuleBase
    getModule

    Gets the representation of the run-time value of this module or class.

    from Namespace
    getModuleSelfVariable

    Gets the self variable in the module-level scope.

    from ModuleBase
    getNamespaceOrToplevel

    Gets the nearest enclosing Namespace or Toplevel, possibly this module itself.

    from ModuleBase
    getNumberOfStatements

    Gets the number of statements in this sequence.

    from StmtSequence
    getOuterScope

    Gets the outer scope, if any.

    from Scope
    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
    getQualifiedName

    Gets a qualified name for this constant. Deprecated in favor of getAQualifiedName because this can return more than one value

    from ConstantWriteAccess
    getRescue

    Gets the nth rescue clause in this block.

    from BodyStmt
    getStmt

    Gets the nth statement in this sequence.

    from BodyStmt
    getValueText

    DEPRECATED: Use getConstantValue instead.

    from Expr
    getVariable

    Gets the variable named name declared in this scope.

    from Scope
    hasEnsure

    Holds if this block has an ensure block.

    from BodyStmt
    hasName

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

    from ConstantAccess
    isEmpty

    Holds if this sequence has no statements.

    from StmtSequence
    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