blob: fe36d746dbfeb45548c557a81d39b8d49a04a008 [file] [log] [blame]
//===--- ParseableOutput.h - Helpers for parseable output -------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
///
/// \file
/// Helpers for emitting the driver's parseable output.
///
//===----------------------------------------------------------------------===//
#ifndef SWIFT_DRIVER_PARSEABLEOUTPUT_H
#define SWIFT_DRIVER_PARSEABLEOUTPUT_H
#include "swift/Basic/LLVM.h"
#include "swift/Basic/TaskQueue.h"
namespace swift {
namespace driver {
class Job;
namespace parseable_output {
/// Emits a "began" message to the given stream.
void emitBeganMessage(raw_ostream &os, const Job &Cmd, int64_t Pid,
sys::TaskProcessInformation ProcInfo);
/// Emits a "finished" message to the given stream.
void emitFinishedMessage(raw_ostream &os, const Job &Cmd, int64_t Pid,
int ExitStatus, StringRef Output,
sys::TaskProcessInformation ProcInfo);
/// Emits a "signalled" message to the given stream.
void emitSignalledMessage(raw_ostream &os, const Job &Cmd, int64_t Pid,
StringRef ErrorMsg, StringRef Output,
Optional<int> Signal,
sys::TaskProcessInformation ProcInfo);
/// Emits a "skipped" message to the given stream.
void emitSkippedMessage(raw_ostream &os, const Job &Cmd);
} // end namespace parseable_output
} // end namespace driver
} // end namespace swift
#endif