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

Class SplatExpr

A splat expression.

foo(*args)

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.

    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 UnaryOperation
    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
    getATarget

    Gets a potential target of this call, if any.

    from Call
    getAnArgument

    Gets an argument of this method call.

    from Call
    getAnOperand

    Gets an operand of this operation.

    from Operation
    getArgument

    Gets the nth argument of this method call. In the following example, the result for n=0 is the IntegerLiteral 0, while for n=1 the result is a Pair (whose getKey returns the SymbolLiteral for bar, and getValue returns the IntegerLiteral 1). Keyword arguments like this can be accessed more naturally using the getKeywordArgument(string keyword) predicate. rb foo(0, bar: 1) yield 0, bar: 1

    from Call
    getBlock

    Gets the block of this method call, if any. rb foo.each { |x| puts x }

    from MethodCall
    getBlockArgument

    Gets the block argument of this method call, if any. rb foo(&block)

    from MethodCall
    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
    getKeywordArgument

    Gets the value of the keyword argument whose key is keyword, if any. For example, the result for getKeywordArgument("qux") in the following example is the IntegerLiteral 123. rb foo :bar "baz", qux: 123

    from Call
    getLocation

    Gets the location of this node.

    from AstNode
    getMethodName

    Gets the name of the method being called. For example, in:

    from MethodCall
    getNumberOfArguments

    Gets the number of arguments of this method call.

    from Call
    getOperand

    Gets the operand of this unary operation.

    from UnaryOperation
    getOperator

    Gets the operator of this operation.

    from Operation
    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
    getReceiver

    Gets the receiver of this call, if any. For example:

    from MethodCall
    hasBlock

    Holds if this method call has a block or block argument.

    from MethodCall
    isSafeNavigation

    Holds if the safe navigation operator (&.) is used in this call. rb foo&.empty?

    from MethodCall
    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 UnaryOperation