CodeQL library for C/C++
codeql/cpp-all 3.0.1-dev (changelog, source)
Search

Module signature TypeFlowInput

Provides the input specification.

Import path

import codeql.typeflow.TypeFlow

Predicates

exactTypeBase

Holds if t is the most precise type of n, if any.

getAnAncestor

Gets a direct or indirect supertype of this type, including itself.

getErasure

Gets the erased version of this type. The erasure of a erasure of a parameterized type is its generic counterpart, or t if t is already fully erased.

getSourceDeclaration

Gets the source declaration of this type, or t if t is already a source declaration.

instanceofDisjunctionGuarded

Holds if n is a value that is guarded by a disjunction of a dynamic type check that checks if n is an instance of type t_i where t is one of those t_i.

isExcludedFromNullAnalysis

Holds if n should be excluded from the set of null values even if the null analysis determines that n is always null.

isNullValue

Holds if n represents a null value.

step

Holds if data can flow from n1 to n2 in one step.

typeFlowBaseCand

Holds if n has type t and this information is discarded, such that t might be a better type bound for nodes where n flows to. This might include multiple bounds for a single node.

unbound

Holds if t is a raw type or parameterised type with unrestricted type arguments.

Types

Type

A type.

TypeFlowNode

A node for which type information is available. For example, expressions and method declarations.

Parameters

LocationLocationSig