clang 20.0.0git
|
Wrap ExtractAPIAction on top of a pre-existing action. More...
#include "clang/ExtractAPI/FrontendActions.h"
Public Member Functions | |
WrappingExtractAPIAction (std::unique_ptr< FrontendAction > WrappedAction) | |
Public Member Functions inherited from clang::WrapperFrontendAction | |
WrapperFrontendAction (std::unique_ptr< FrontendAction > WrappedAction) | |
Construct a WrapperFrontendAction from an existing action, taking ownership of it. | |
bool | usesPreprocessorOnly () const override |
Does this action only use the preprocessor? | |
TranslationUnitKind | getTranslationUnitKind () override |
For AST-based actions, the kind of translation unit we're handling. | |
bool | hasPCHSupport () const override |
Does this action support use with PCH? | |
bool | hasASTFileSupport () const override |
Does this action support use with AST files? | |
bool | hasIRSupport () const override |
Does this action support use with IR files? | |
bool | hasCodeCompletionSupport () const override |
Does this action support use with code completion? | |
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? | |
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. | |
Protected Member Functions | |
std::unique_ptr< ASTConsumer > | CreateASTConsumer (CompilerInstance &CI, StringRef InFile) override |
Create ExtractAPI consumer multiplexed on another consumer. | |
Protected Member Functions inherited from clang::WrapperFrontendAction | |
bool | PrepareToExecuteAction (CompilerInstance &CI) override |
Prepare to execute the action on the given CompilerInstance. | |
std::unique_ptr< ASTConsumer > | CreateASTConsumer (CompilerInstance &CI, StringRef InFile) override |
Create the AST consumer object for this action, if supported. | |
bool | BeginInvocation (CompilerInstance &CI) override |
Callback before starting processing a single input, giving the opportunity to modify the CompilerInvocation or do some other action before BeginSourceFileAction is called. | |
bool | BeginSourceFileAction (CompilerInstance &CI) override |
Callback at the start of processing a single input. | |
void | ExecuteAction () override |
Callback to run the program action, using the initialized compiler instance. | |
void | EndSourceFile () override |
Perform any per-file post processing, deallocate per-file objects, and run statistics and output file cleanup code. | |
void | EndSourceFileAction () override |
Callback at the end of processing a single input. | |
bool | shouldEraseOutputFiles () override |
Callback at the end of processing a single input, to determine if the output files should be erased or not. | |
Implementation Action Interface |
Additional Inherited Members | |
Protected Attributes inherited from clang::WrapperFrontendAction | |
std::unique_ptr< FrontendAction > | WrappedAction |
Wrap ExtractAPIAction on top of a pre-existing action.
Used when the ExtractAPI action needs to be executed as a side effect of a regular compilation job. Unlike ExtarctAPIAction, this is meant to be used on regular source files ( .m , .c files) instead of header files
Definition at line 59 of file FrontendActions.h.
|
inline |
Definition at line 62 of file FrontendActions.h.
|
overrideprotectedvirtual |
Create ExtractAPI consumer multiplexed on another consumer.
This allows us to execute ExtractAPI action while on top of
Implements clang::FrontendAction.
Definition at line 523 of file ExtractAPIConsumer.cpp.
References clang::Preprocessor::addPPCallbacks(), clang::PrintingPolicy::AnonymousTagLocations, clang::ExtractAPIActionBase::API, clang::extractapi::APIIgnoresList::create(), clang::WrapperFrontendAction::CreateASTConsumer(), clang::FrontendOptions::ExtractAPIIgnoresFileList, clang::CompilerInstance::getASTContext(), clang::CompilerInstance::getFileManager(), clang::CompilerInstance::getFrontendOpts(), clang::CompilerInstance::getPreprocessor(), clang::ASTContext::getPrintingPolicy(), clang::CompilerInstance::getSourceManager(), clang::CompilerInstance::getTarget(), clang::TargetInfo::getTriple(), clang::ExtractAPIActionBase::IgnoresList, clang::FrontendOptions::Inputs, clang::ExtractAPIActionBase::OS, clang::ExtractAPIActionBase::ProductName, clang::FrontendOptions::ProductName, and clang::ASTContext::setPrintingPolicy().