clang: lib/Interpreter/IncrementalParser.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_CLANG_LIB_INTERPRETER_INCREMENTALPARSER_H
14#define LLVM_CLANG_LIB_INTERPRETER_INCREMENTALPARSER_H
15
16#include "llvm/ADT/StringRef.h"
17#include "llvm/Support/Error.h"
18
19#include
20#include
21
22namespace llvm {
24}
25
34
35
36
37
39protected:
40
42
43
45
46
48
49
51
52
54
56
57public:
59 llvm::Error &Err, std::list &PTUs);
61
62
63
64
66
68
69
71 std::unique_ptrllvm::Module M = {});
72
73private:
75};
76}
77
78#endif
ASTConsumer - This is an abstract interface that should be implemented by clients that read ASTs.
CompilerInstance - Helper class for managing a single instance of the Clang compiler.
A custom action enabling the incremental processing functionality.
IncrementalParser(CompilerInstance &Instance, IncrementalAction *Act, llvm::Error &Err, std::list< PartialTranslationUnit > &PTUs)
IncrementalAction * Act
The FrontendAction used during incremental parsing.
Definition IncrementalParser.h:53
std::list< PartialTranslationUnit > & PTUs
Definition IncrementalParser.h:55
virtual ~IncrementalParser()
unsigned InputCount
Counts the number of direct user input lines that have been parsed.
Definition IncrementalParser.h:50
void CleanUpPTU(TranslationUnitDecl *MostRecentTU)
PartialTranslationUnit & RegisterPTU(TranslationUnitDecl *TU, std::unique_ptr< llvm::Module > M={})
Register a PTU produced by Parse.
std::unique_ptr< Parser > P
Parser.
Definition IncrementalParser.h:44
ASTConsumer * Consumer
Consumer to process the produced top level decls. Owned by Act.
Definition IncrementalParser.h:47
Sema & S
The Sema performing the incremental compilation.
Definition IncrementalParser.h:41
Parser - This implements a parser for the C family of languages.
Sema - This implements semantic analysis and AST building for C.
The top declaration context.
The JSON file list parser is used to communicate input to InstallAPI.
@ Parse
Parse the block; this code is always used.
@ Module
Module linkage, which indicates that the entity can be referred to from other translation units withi...
Diagnostic wrappers for TextAPI types for error reporting.
The class keeps track of various objects created as part of processing incremental inputs.