clang  6.0.0svn
Public Member Functions | List of all members
clang::CodeInjector Class Referenceabstract

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

#include "clang/Analysis/CodeInjector.h"

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

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

◆ CodeInjector()

CodeInjector::CodeInjector ( )

Definition at line 14 of file CodeInjector.cpp.

◆ ~CodeInjector()

CodeInjector::~CodeInjector ( )
virtual

Definition at line 15 of file CodeInjector.cpp.

Member Function Documentation

◆ getBody() [1/2]

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

Implemented in clang::ento::ModelInjector.

◆ getBody() [2/2]

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: