mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[BatchMode] Split up Driver::buildJobsForAction, NFC.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "swift/Basic/LLVM.h"
|
||||
#include "swift/Basic/OptionSet.h"
|
||||
#include "swift/Basic/Sanitizers.h"
|
||||
#include "swift/Driver/OutputFileMap.h"
|
||||
#include "swift/Driver/Types.h"
|
||||
#include "swift/Driver/Util.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
@@ -45,6 +46,7 @@ namespace swift {
|
||||
class DiagnosticEngine;
|
||||
namespace driver {
|
||||
class Action;
|
||||
class CommandOutput;
|
||||
class Compilation;
|
||||
class Job;
|
||||
class JobAction;
|
||||
@@ -263,6 +265,53 @@ public:
|
||||
const ToolChain &TC, bool AtTopLevel,
|
||||
JobCacheMap &JobCache) const;
|
||||
|
||||
private:
|
||||
void computeMainOutput(Compilation &C, const JobAction *JA,
|
||||
const OutputInfo &OI, const OutputFileMap *OFM,
|
||||
const ToolChain &TC, bool AtTopLevel,
|
||||
SmallVectorImpl<const Action *> &InputActions,
|
||||
SmallVectorImpl<const Job *> &InputJobs,
|
||||
const TypeToPathMap *OutputMap, StringRef BaseInput,
|
||||
llvm::SmallString<128> &Buf,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseSwiftModuleOutputPath(Compilation &C, const OutputInfo &OI,
|
||||
const OutputFileMap *OFM,
|
||||
const TypeToPathMap *OutputMap,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseSwiftModuleDocOutputPath(Compilation &C,
|
||||
const TypeToPathMap *OutputMap,
|
||||
CommandOutput *Output) const;
|
||||
void chooseRemappingOutputPath(Compilation &C, const TypeToPathMap *OutputMap,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseSerializedDiagnosticsPath(Compilation &C, const JobAction *JA,
|
||||
const OutputInfo &OI,
|
||||
const TypeToPathMap *OutputMap,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseDependenciesOutputPaths(Compilation &C, const OutputInfo &OI,
|
||||
const TypeToPathMap *OutputMap,
|
||||
llvm::SmallString<128> &Buf,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseSaveOptimizationPath(Compilation &C, const OutputInfo &OI,
|
||||
llvm::SmallString<128> &Buf,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseObjectiveCHeaderOutputPath(Compilation &C, const OutputInfo &OI,
|
||||
const TypeToPathMap *OutputMap,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseLoadedModuleTracePath(Compilation &C, const OutputInfo &OI,
|
||||
llvm::SmallString<128> &Buf,
|
||||
CommandOutput *Output) const;
|
||||
|
||||
void chooseTBDPath(Compilation &C, const OutputInfo &OI,
|
||||
llvm::SmallString<128> &Buf, CommandOutput *Output) const;
|
||||
|
||||
public:
|
||||
/// Handle any arguments which should be treated before building actions or
|
||||
/// binding tools.
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user