1*c9157d92SDimitry Andric //===- TextAPIError.cpp - Tapi Error ----------------------------*- C++ -*-===//
2*c9157d92SDimitry Andric //
3*c9157d92SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*c9157d92SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*c9157d92SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*c9157d92SDimitry Andric //
7*c9157d92SDimitry Andric //===----------------------------------------------------------------------===//
8*c9157d92SDimitry Andric ///
9*c9157d92SDimitry Andric /// \file
10*c9157d92SDimitry Andric /// \brief Implements TAPI Error.
11*c9157d92SDimitry Andric ///
12*c9157d92SDimitry Andric //===----------------------------------------------------------------------===//
13*c9157d92SDimitry Andric 
14*c9157d92SDimitry Andric #include "llvm/TextAPI/TextAPIError.h"
15*c9157d92SDimitry Andric 
16*c9157d92SDimitry Andric using namespace llvm;
17*c9157d92SDimitry Andric using namespace llvm::MachO;
18*c9157d92SDimitry Andric 
19*c9157d92SDimitry Andric char TextAPIError::ID = 0;
20*c9157d92SDimitry Andric 
log(raw_ostream & OS) const21*c9157d92SDimitry Andric void TextAPIError::log(raw_ostream &OS) const {
22*c9157d92SDimitry Andric   switch (EC) {
23*c9157d92SDimitry Andric   case TextAPIErrorCode::NoSuchArchitecture:
24*c9157d92SDimitry Andric     OS << "no such architecture";
25*c9157d92SDimitry Andric     break;
26*c9157d92SDimitry Andric   case TextAPIErrorCode::InvalidInputFormat:
27*c9157d92SDimitry Andric     OS << "invalid input format";
28*c9157d92SDimitry Andric     break;
29*c9157d92SDimitry Andric   default:
30*c9157d92SDimitry Andric     llvm_unreachable("unhandled TextAPIErrorCode");
31*c9157d92SDimitry Andric   }
32*c9157d92SDimitry Andric   if (!Msg.empty())
33*c9157d92SDimitry Andric     OS << ": " << Msg;
34*c9157d92SDimitry Andric   OS << "\n";
35*c9157d92SDimitry Andric }
36*c9157d92SDimitry Andric 
convertToErrorCode() const37*c9157d92SDimitry Andric std::error_code TextAPIError::convertToErrorCode() const {
38*c9157d92SDimitry Andric   llvm_unreachable("convertToErrorCode is not supported.");
39*c9157d92SDimitry Andric }
40