class IncrementalAction
Declaration
class IncrementalAction : public WrapperFrontendAction { /* full declaration omitted */ };
Description
A custom action enabling the incremental processing functionality. The usual \p FrontendAction expects one call to ExecuteAction and once it sees a call to \p EndSourceFile it deletes some of the important objects such as \p Preprocessor and \p Sema assuming no further input will come. \p IncrementalAction ensures it keep its underlying action's objects alive as long as the \p IncrementalParser needs them.
Declared at: clang/lib/Interpreter/IncrementalParser.cpp:43
Inherits from: WrapperFrontendAction
Member Variables
- private bool IsTerminating = false
Inherited from WrapperFrontendAction:
Method Overview
- public void EndSourceFile()
- public void ExecuteAction()
- public void FinalizeAction()
- public IncrementalAction(clang::CompilerInstance & CI, llvm::LLVMContext & LLVMCtx, llvm::Error & Err)
- public clang::TranslationUnitKind getTranslationUnitKind()
- public clang::FrontendAction * getWrapped() const
Inherited from WrapperFrontendAction:
- protected BeginInvocation
- protected BeginSourceFileAction
- protected CreateASTConsumer
- protected EndSourceFile
- protected EndSourceFileAction
- protected ExecuteAction
- protected PrepareToExecuteAction
- public getTranslationUnitKind
- public hasASTFileSupport
- public hasCodeCompletionSupport
- public hasIRSupport
- public hasPCHSupport
- protected shouldEraseOutputFiles
- public usesPreprocessorOnly
Inherited from FrontendAction:
- protected BeginInvocation
- public BeginSourceFile
- protected BeginSourceFileAction
- protected CreateASTConsumer
- public EndSourceFile
- protected EndSourceFileAction
- public Execute
- protected ExecuteAction
- public PrepareToExecute
- protected PrepareToExecuteAction
- public getCompilerInstance
- public getCurrentASTUnit
- public getCurrentFile
- public getCurrentFileKind
- public getCurrentFileOrBufferName
- public getCurrentInput
- public getCurrentModule
- public getTranslationUnitKind
- public hasASTFileSupport
- public hasCodeCompletionSupport
- public hasIRSupport
- public hasPCHSupport
- public isCurrentFileAST
- public isModelParsingAction
- public setCompilerInstance
- public setCurrentInput
- protected shouldEraseOutputFiles
- public takeCurrentASTUnit
- public usesPreprocessorOnly
Methods
¶void EndSourceFile()
void EndSourceFile()
Description
Perform any per-file post processing, deallocate per-file objects, and run statistics and output file cleanup code.
Declared at: clang/lib/Interpreter/IncrementalParser.cpp:109
¶void ExecuteAction()
void ExecuteAction()
Description
Callback to run the program action, using the initialized compiler instance. This is guaranteed to only be called between BeginSourceFileAction() and EndSourceFileAction().
Declared at: clang/lib/Interpreter/IncrementalParser.cpp:84
¶void FinalizeAction()
void FinalizeAction()
Declared at: clang/lib/Interpreter/IncrementalParser.cpp:115
¶IncrementalAction(clang::CompilerInstance& CI,
llvm::LLVMContext& LLVMCtx,
llvm::Error& Err)
IncrementalAction(clang::CompilerInstance& CI,
llvm::LLVMContext& LLVMCtx,
llvm::Error& Err)
Declared at: clang/lib/Interpreter/IncrementalParser.cpp:48
Parameters
- clang::CompilerInstance& CI
- llvm::LLVMContext& LLVMCtx
- llvm::Error& Err
¶clang::TranslationUnitKind
getTranslationUnitKind()
clang::TranslationUnitKind
getTranslationUnitKind()
Description
For AST-based actions, the kind of translation unit we're handling.
Declared at: clang/lib/Interpreter/IncrementalParser.cpp:81
¶clang::FrontendAction* getWrapped() const
clang::FrontendAction* getWrapped() const
Declared at: clang/lib/Interpreter/IncrementalParser.cpp:80