llvm/llvm/tools/llvm-ifs/ErrorCollector.h

//===- ErrorCollector.h -----------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===/
///
/// This class collects errors that should be reported or ignored in aggregate.
///
/// Like llvm::Error, an ErrorCollector cannot be copied. Unlike llvm::Error,
/// an ErrorCollector may be destroyed if it was originally constructed to treat
/// errors as non-fatal. In this case, all Errors are consumed upon destruction.
/// An ErrorCollector may be initially constructed (or escalated) such that
/// errors are treated as fatal. This causes a crash if an attempt is made to
/// delete the ErrorCollector when some Errors have not been retrieved via
/// makeError().
///
//===-----------------------------------------------------------------------===/

#ifndef LLVM_TOOLS_LLVM_IFS_ERRORCOLLECTOR_H
#define LLVM_TOOLS_LLVM_IFS_ERRORCOLLECTOR_H

#include "llvm/Support/Error.h"
#include "llvm/Support/raw_ostream.h"
#include <vector>

namespace llvm {

namespace ifs {

class ErrorCollector {};

} // end namespace ifs
} // end namespace llvm

#endif // LLVM_TOOLS_LLVM_IFS_ERRORCOLLECTOR_H