This patch refactors the FrontendAction class. It merely moves code
around so that re-using it is easier. No new functionality is
introduced.
- Three new member methods are introduced: RunPrescan, RunParse,
RunSema.
- The following free functions are re-implemented as member methods:
- reportFatalSemanticErrors
- reportFatalScanningErrors
- reportFatalParsingErrors
- reportFatalErrors
reportFatalSemanticErrors is updated to resemble the other error
reporting functions and to make the API more consistent.
- The BeginSourceFileAction methods are simplified and the unused
input argument is deleted.
[nit] Would it be too invasive to expand this name in this patch, eg RunSemanticAction or something else more verbose?