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

Module DataFlowDispatch

Import path

import codeql.ruby.dataflow.internal.DataFlowDispatch

Imports

Predicates

getAnOutNode

Gets a node that can read the value returned from call with return kind kind.

isUserDefinedNew

Holds if new is a user-defined self.new method.

mayBenefitFromCallContext

Holds if the set of viable implementations that can be called by call might be improved by knowing the call context.

parameterMatch

Holds if arguments at position apos match parameters at position ppos.

singletonMethodOnInstance

Holds if method is a singleton method named name, defined on expression object, where object is not likely to resolve to a module:

viableImplInCallContext

Gets a viable dispatch target of call in the context ctx. This is restricted to those calls for which a context might make a difference.

viableLibraryCallable

Holds if call may resolve to the returned summarized library method.

Classes

AdditionalCallTarget

A unit class for adding additional call steps.

ArgumentPosition

An argument position.

BreakReturnKind

A value returned from a callable using a break statement.

DataFlowCall

A call. This includes calls from source code, as well as call(back)s inside library callables with a flow summary.

DataFlowCallable

A callable. This includes callables from source code, as well as callables defined in library code.

LibraryCallable

A callable defined in library code, identified by a unique string.

LibraryCallableToIncludeInTypeTracking

A callable defined in library code, which should be taken into account in type tracking.

NewReturnKind

A special return kind that is used to represent the value returned from user-defined new methods as well as the effect on self in initialize methods.

NormalCall
NormalReturnKind

A value returned from a callable using a return statement or an expression body, that is, a “normal” return.

ParameterPosition

A parameter position.

ReturnKind

A return kind. A return kind describes how a value can be returned from a callable.

SummaryCall

A synthesized call inside a callable with a flow summary.

Datatypes

Aliases

exprNodeReturnedFrom

Holds if e is an ExprNode that may be returned by a call to c.

trackModuleAccess

Gets a node that can be reached from some start node in state state.