class CodeInjector

Declaration

class CodeInjector { /* full declaration omitted */ };

Description

CodeInjector is an interface which is responsible for injecting AST of function definitions that may not be available in the original source. The getBody function will be called each time the static analyzer examines a function call that has no definition available in the current translation unit. If the returned statement is not a null pointer, it is assumed to be the body of a function which will be used for the analysis. The source of the body can be arbitrary, but it is advised to use memoization to avoid unnecessary reparsing of the external source that provides the body of the functions.

Declared at: clang/include/clang/Analysis/CodeInjector.h:35

Method Overview

Methods

CodeInjector()

Declared at: clang/include/clang/Analysis/CodeInjector.h:37

virtual clang::Stmt* getBody(
    const clang::FunctionDecl* D)

Declared at: clang/include/clang/Analysis/CodeInjector.h:40

Parameters

const clang::FunctionDecl* D

virtual clang::Stmt* getBody(
    const clang::ObjCMethodDecl* D)

Declared at: clang/include/clang/Analysis/CodeInjector.h:41

Parameters

const clang::ObjCMethodDecl* D

virtual ~CodeInjector()

Declared at: clang/include/clang/Analysis/CodeInjector.h:38