clang 20.0.0git
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 35 of file CodeInjector.h.

Constructor & Destructor Documentation

◆ CodeInjector()

CodeInjector::CodeInjector ( )

Definition at line 13 of file CodeInjector.cpp.

◆ ~CodeInjector()

CodeInjector::~CodeInjector ( )
virtual

Definition at line 14 of file CodeInjector.cpp.

Member Function Documentation

◆ getBody() [1/2]

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

◆ 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: