Files
swift-mirror/lib/Driver/Action.cpp
Connor Wakamo c4a4ab3596 [driver] Added initial infrastructure for generating a Command which merges swiftmodule files.
Added a MergeModuleJobAction, which will be translated into a Command which merges swiftmodule files.
Added a MergeModule subclass of Tool, which will generate a Command which merges swiftmodule files. (Currently, it generates a Command which invokes “swift_driver -frontend -help”.)
Added ToolChain-level support for getting the MergeModule Tool.

Nothing produces MergeModuleJobActions yet; adding that to the Action dependency graph should be enough to get this going.

Swift SVN r12491
2014-01-17 19:39:20 +00:00

47 lines
1.2 KiB
C++

//===--- Action.cpp - Abstract compilation steps --------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
#include "swift/Driver/Action.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/ErrorHandling.h"
using namespace swift::driver;
using namespace llvm::opt;
Action::~Action() {
if (OwnsInputs) {
llvm::DeleteContainerPointers(Inputs);
}
}
const char *Action::getClassName(ActionClass AC) {
switch (AC) {
case Input: return "input";
case CompileJob: return "compile";
case MergeModuleJob: return "merge-module";
case LinkJob: return "link";
}
llvm_unreachable("invalid class");
}
void InputAction::anchor() {}
void JobAction::anchor() {}
void CompileJobAction::anchor() {}
void MergeModuleJobAction::anchor() {}
void LinkJobAction::anchor() {}