FLANG
|
Abstract base class for actions which can be performed by the frontend. More...
#include <flang/Frontend/FrontendAction.h>
Public Member Functions | |
Compiler Instance Access | |
CompilerInstance & | getInstance () const |
void | setInstance (CompilerInstance *value) |
Current File Information | |
const FrontendInputFile & | getCurrentInput () const |
llvm::StringRef | getCurrentFile () const |
llvm::StringRef | getCurrentFileOrBufferName () const |
void | setCurrentInput (const FrontendInputFile ¤tIntput) |
Public Action Interface | |
bool | beginSourceFile (CompilerInstance &ci, const FrontendInputFile &input) |
llvm::Error | execute () |
Run the action. | |
void | endSourceFile () |
Protected Member Functions | |
bool | runPrescan () |
bool | runParse (bool emitMessages) |
bool | runSemanticChecks () |
bool | generateRtTypeTables () |
bool | reportFatalSemanticErrors () |
bool | reportFatalScanningErrors () |
bool | reportFatalParsingErrors () |
Implementation Action Interface | |
virtual void | executeAction ()=0 |
virtual bool | shouldEraseOutputFiles () |
virtual bool | beginSourceFileAction () |
Abstract base class for actions which can be performed by the frontend.
bool FrontendAction::beginSourceFile | ( | CompilerInstance & | ci, |
const FrontendInputFile & | input | ||
) |
Prepare the action for processing the input file input
.
This is run after the options and frontend have been initialized, but prior to executing any per-file processing.
ci | - The compiler instance this action is being run from. The action may store and use this object. |
input | - The input filename and kind. |
|
inlineprotectedvirtual |
Callback at the start of processing a single input.
void FrontendAction::endSourceFile | ( | ) |
Perform any per-file post processing, deallocate per-file objects, and run statistics and output file cleanup code.
|
protectedpure virtual |
Callback to run the program action, using the initialized compiler instance.
|
protectedvirtual |
Callback at the end of processing a single input, to determine if the output files should be erased or not.
By default it returns true if a compiler error occurred.