* @file
*
* This file declares the Driver's Job class.
*/
#ifndef CANGJIE_DRIVER_JOB_H
#define CANGJIE_DRIVER_JOB_H
#include <string>
#include <vector>
#include "cangjie/Driver/Backend/Backend.h"
#include "cangjie/Driver/DriverOptions.h"
#include "cangjie/Driver/Toolchains/ToolChain.h"
#include "cangjie/Option/Option.h"
namespace Cangjie {
class Job {
public:
Job()
{
}
~Job() = default;
* Assembly the job and toolchain command.
*/
bool Assemble(const DriverOptions& driverOptions, const Driver& driver);
* Execute compilation job.
*/
bool Execute() const;
private:
std::unique_ptr<Backend> backend;
std::vector<std::string> tmpFiles;
bool verbose{false};
};
}
#endif