|
clang 22.0.0git
|
Abstract base class to use for AST consumer-based frontend actions. More...
#include "clang/Frontend/FrontendAction.h"
Public Member Functions | |
| ASTFrontendAction () | |
| bool | usesPreprocessorOnly () const override |
| Does this action only use the preprocessor? | |
| Public Member Functions inherited from clang::FrontendAction | |
| FrontendAction () | |
| virtual | ~FrontendAction () |
| CompilerInstance & | getCompilerInstance () const |
| void | setCompilerInstance (CompilerInstance *Value) |
| bool | isCurrentFileAST () const |
| const FrontendInputFile & | getCurrentInput () const |
| StringRef | getCurrentFile () const |
| StringRef | getCurrentFileOrBufferName () const |
| InputKind | getCurrentFileKind () const |
| ASTUnit & | getCurrentASTUnit () const |
| Module * | getCurrentModule () const |
| std::unique_ptr< ASTUnit > | takeCurrentASTUnit () |
| void | setCurrentInput (const FrontendInputFile &CurrentInput, std::unique_ptr< ASTUnit > AST=nullptr) |
| virtual bool | isModelParsingAction () const |
| Is this action invoked on a model file? | |
| virtual TranslationUnitKind | getTranslationUnitKind () |
| For AST-based actions, the kind of translation unit we're handling. | |
| virtual bool | hasPCHSupport () const |
| Does this action support use with PCH? | |
| virtual bool | hasASTFileSupport () const |
| Does this action support use with AST files? | |
| virtual bool | hasIRSupport () const |
| Does this action support use with IR files? | |
| virtual bool | hasCodeCompletionSupport () const |
| Does this action support use with code completion? | |
| bool | PrepareToExecute (CompilerInstance &CI) |
| Prepare the action to execute on the given compiler instance. | |
| bool | BeginSourceFile (CompilerInstance &CI, const FrontendInputFile &Input) |
Prepare the action for processing the input file Input. | |
| llvm::Error | Execute () |
| Set the source manager's main input file, and run the action. | |
| virtual void | EndSourceFile () |
| Perform any per-file post processing, deallocate per-file objects, and run statistics and output file cleanup code. | |
Protected Member Functions | |
| void | ExecuteAction () override |
| Implement the ExecuteAction interface by running Sema on the already-initialized AST consumer. | |
| Protected Member Functions inherited from clang::FrontendAction | |
| virtual bool | PrepareToExecuteAction (CompilerInstance &CI) |
| Prepare to execute the action on the given CompilerInstance. | |
| virtual std::unique_ptr< ASTConsumer > | CreateASTConsumer (CompilerInstance &CI, StringRef InFile)=0 |
| Create the AST consumer object for this action, if supported. | |
| virtual bool | BeginInvocation (CompilerInstance &CI) |
| Callback before starting processing a single input, giving the opportunity to modify the CompilerInvocation or do some other action before BeginSourceFileAction is called. | |
| virtual bool | BeginSourceFileAction (CompilerInstance &CI) |
| Callback at the start of processing a single input. | |
| virtual void | EndSourceFileAction () |
| Callback at the end of processing a single input. | |
| virtual bool | shouldEraseOutputFiles () |
| Callback at the end of processing a single input, to determine if the output files should be erased or not. | |
Abstract base class to use for AST consumer-based frontend actions.
Definition at line 255 of file FrontendAction.h.
|
inline |
Definition at line 265 of file FrontendAction.h.
|
overrideprotectedvirtual |
Implement the ExecuteAction interface by running Sema on the already-initialized AST consumer.
This will also take care of instantiating a code completion consumer if the user requested it and the action supports it.
Implements clang::FrontendAction.
Reimplemented in clang::CodeGenAction, clang::DumpModuleInfoAction, clang::IncrementalSyntaxOnlyAction, clang::TemplightDumpAction, and clang::VerifyPCHAction.
Definition at line 1409 of file FrontendAction.cpp.
References clang::FrontendOptions::CodeCompletionAt, clang::CompilerInstance::createCodeCompletionConsumer(), clang::CompilerInstance::createSema(), clang::ParsedSourceLocation::FileName, clang::CompilerInstance::getCodeCompletionConsumer(), clang::FrontendAction::getCompilerInstance(), clang::CompilerInstance::getFrontendOpts(), clang::CompilerInstance::getSema(), clang::FrontendAction::getTranslationUnitKind(), clang::CompilerInstance::hasCodeCompletionConsumer(), clang::FrontendAction::hasCodeCompletionSupport(), clang::CompilerInstance::hasPreprocessor(), clang::CompilerInstance::hasSema(), clang::noteBottomOfStack(), clang::ParseAST(), clang::FrontendOptions::ShowStats, and clang::FrontendOptions::SkipFunctionBodies.
Referenced by clang::CompilerInstance::compileModule(), clang::CodeGenAction::ExecuteAction(), and clang::TemplightDumpAction::ExecuteAction().
|
inlineoverridevirtual |
Does this action only use the preprocessor?
If so no AST context will be created and this action will be invalid with AST file inputs.
Implements clang::FrontendAction.
Definition at line 266 of file FrontendAction.h.