CodeQL library for C/C++
Search

Module Dependency

Import path

import semmle.code.cpp.commons.Dependency

Imports

Declaration

Provides classes for working with C and C++ declarations.

Element

Provides the Element class, which is the base class for all classes representing C or C++ program elements.

Function

Provides classes for working with functions, including template functions.

Variable

Provides classes for modeling variables and their declarations.

Predicates

dependency_pointerTypeUse

A dependency caused by a pointer/reference type use only.

dependsOnDeclOnly

A simple dependency from src to a declaration dest, where the definition is not needed at compile time.

dependsOnSimple

A ‘simple’ dependency from src to dest. This type of dependency does not make any special account of templates.

dependsOnTransitive

Holds if src is related to dest by one dependsOnSimple and any number of dependsOnViaTemplate steps.

getDeclarationEntries

Associates a Declaration with it’s DeclarationEntries, or (for a template instantiation) with the DeclarationEntries of its template.

getDependencyOptions

Gets the DependencyOptions.

Classes

DependencyOptions

Options that control the dependencies generated by this library.

DependsSource

An Element that can be the source of a transitive dependency. This is any Element that is not in a template instantiation, plus declarations of template specializations (even though they are technically in an instantiation) because we need to generate (at least) a dependency from them to the general declaration.

Symbol

A program element which can be the target of inter-function or inter-file dependencies.