clang: include/clang/Analysis/BodyFarm.h Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_CLANG_ANALYSIS_BODYFARM_H
15#define LLVM_CLANG_ANALYSIS_BODYFARM_H
16
19#include "llvm/ADT/DenseMap.h"
20#include
21
23
24class ASTContext;
25class FunctionDecl;
26class ObjCMethodDecl;
27class Stmt;
28class CodeInjector;
29
31public:
33
34
36
37
39
40
42
43
45
46private:
47 typedef llvm::DenseMap<const Decl *, std::optional<Stmt *>> BodyMap;
48
50 BodyMap Bodies;
52};
53}
54
55#endif
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
BodyFarm(ASTContext &C, CodeInjector *injector)
BodyFarm(const BodyFarm &other)=delete
Remove copy constructor to avoid accidental copying.
BodyFarm & operator=(const BodyFarm &other)=delete
Delete copy assignment operator.
Stmt * getBody(const FunctionDecl *D)
Factory method for creating bodies for ordinary functions.
CodeInjector is an interface which is responsible for injecting AST of function definitions that may ...
Represents a function declaration or definition.
ObjCMethodDecl - Represents an instance or class method declaration.
Stmt - This represents one statement.
The JSON file list parser is used to communicate input to InstallAPI.