clang API Documentation

Public Member Functions
clang::CodeInjector Class Reference

CodeInjector is an interface which is responsible for injecting AST of function definitions that may not be available in the original source. More...

#include <CodeInjector.h>

Inheritance diagram for clang::CodeInjector:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CodeInjector ()
virtual ~CodeInjector ()
virtual StmtgetBody (const FunctionDecl *D)=0
virtual StmtgetBody (const ObjCMethodDecl *D)=0

Detailed 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.

Definition at line 36 of file CodeInjector.h.


Constructor & Destructor Documentation

Definition at line 14 of file CodeInjector.cpp.

Definition at line 15 of file CodeInjector.cpp.


Member Function Documentation

virtual Stmt* clang::CodeInjector::getBody ( const FunctionDecl D) [pure virtual]
virtual Stmt* clang::CodeInjector::getBody ( const ObjCMethodDecl D) [pure virtual]

Implemented in clang::ento::ModelInjector.


The documentation for this class was generated from the following files: