clang API Documentation

Classes | Namespaces
ModelInjector.h File Reference

This file defines the clang::ento::ModelInjector class which implements the clang::CodeInjector interface. This class is responsible for injecting function definitions that were synthesized from model files. More...

#include <map>
#include <vector>
#include <memory>
#include "clang/Analysis/CodeInjector.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/StringMap.h"
Include dependency graph for ModelInjector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::ento::ModelInjector

Namespaces

namespace  clang
namespace  clang::ento

Detailed Description

This file defines the clang::ento::ModelInjector class which implements the clang::CodeInjector interface. This class is responsible for injecting function definitions that were synthesized from model files.

Model files allow definitions of functions to be lazily constituted for functions which lack bodies in the original source code. This allows the analyzer to more precisely analyze code that calls such functions, analyzing the artificial definitions (which typically approximate the semantics of the called function) when called by client code. These definitions are reconstituted lazily, on-demand, by the static analyzer engine.

Definition in file ModelInjector.h.