clang 20.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 243 of file FrontendAction.h.
|
inline |
Definition at line 253 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::DumpModuleInfoAction, clang::VerifyPCHAction, clang::TemplightDumpAction, and clang::IncrementalSyntaxOnlyAction.
Definition at line 1169 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::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 254 of file FrontendAction.h.