1218893Sdim//===--- Job.cpp - Command to Execute -------------------------------------===//
2193326Sed//
3193326Sed//                     The LLVM Compiler Infrastructure
4193326Sed//
5193326Sed// This file is distributed under the University of Illinois Open Source
6193326Sed// License. See LICENSE.TXT for details.
7193326Sed//
8193326Sed//===----------------------------------------------------------------------===//
9193326Sed
10193326Sed#include "clang/Driver/Job.h"
11226633Sdim#include "llvm/ADT/STLExtras.h"
12193326Sed#include <cassert>
13193326Sedusing namespace clang::driver;
14193326Sed
15193326SedJob::~Job() {}
16193326Sed
17234353Sdimvoid Command::anchor() {}
18234353Sdim
19200583SrdivackyCommand::Command(const Action &_Source, const Tool &_Creator,
20200583Srdivacky                 const char *_Executable, const ArgStringList &_Arguments)
21200583Srdivacky  : Job(CommandClass), Source(_Source), Creator(_Creator),
22200583Srdivacky    Executable(_Executable), Arguments(_Arguments)
23200583Srdivacky{
24193326Sed}
25193326Sed
26193326SedJobList::JobList() : Job(JobListClass) {}
27193326Sed
28205219SrdivackyJobList::~JobList() {
29205219Srdivacky  for (iterator it = begin(), ie = end(); it != ie; ++it)
30205219Srdivacky    delete *it;
31205219Srdivacky}
32205219Srdivacky
33226633Sdimvoid JobList::clear() {
34226633Sdim  DeleteContainerPointers(Jobs);
35226633Sdim}
36226633Sdim
37193326Sedvoid Job::addCommand(Command *C) {
38212904Sdim  cast<JobList>(this)->addJob(C);
39193326Sed}
40198092Srdivacky
41