LCOV - code coverage report
Current view: top level - lib/DebugInfo/MSF - MSFError.cpp (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 6 12 50.0 %
Date: 2018-10-20 13:21:21 Functions: 2 3 66.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===- MSFError.cpp - Error extensions for MSF files ------------*- C++ -*-===//
       2             : //
       3             : //                     The LLVM Compiler Infrastructure
       4             : //
       5             : // This file is distributed under the University of Illinois Open Source
       6             : // License. See LICENSE.TXT for details.
       7             : //
       8             : //===----------------------------------------------------------------------===//
       9             : 
      10             : #include "llvm/DebugInfo/MSF/MSFError.h"
      11             : #include "llvm/Support/ErrorHandling.h"
      12             : #include "llvm/Support/ManagedStatic.h"
      13             : 
      14             : using namespace llvm;
      15             : using namespace llvm::msf;
      16             : 
      17             : // FIXME: This class is only here to support the transition to llvm::Error. It
      18             : // will be removed once this transition is complete. Clients should prefer to
      19             : // deal with the Error value directly, rather than converting to error_code.
      20           2 : class MSFErrorCategory : public std::error_category {
      21             : public:
      22           0 :   const char *name() const noexcept override { return "llvm.msf"; }
      23           5 :   std::string message(int Condition) const override {
      24           5 :     switch (static_cast<msf_error_code>(Condition)) {
      25             :     case msf_error_code::unspecified:
      26           1 :       return "An unknown error has occurred.";
      27             :     case msf_error_code::insufficient_buffer:
      28             :       return "The buffer is not large enough to read the requested number of "
      29           0 :              "bytes.";
      30             :     case msf_error_code::not_writable:
      31           0 :       return "The specified stream is not writable.";
      32             :     case msf_error_code::no_stream:
      33           0 :       return "The specified stream does not exist.";
      34             :     case msf_error_code::invalid_format:
      35           4 :       return "The data is in an unexpected format.";
      36             :     case msf_error_code::block_in_use:
      37           0 :       return "The block is already in use.";
      38             :     }
      39           0 :     llvm_unreachable("Unrecognized msf_error_code");
      40             :   }
      41             : };
      42             : 
      43             : static llvm::ManagedStatic<MSFErrorCategory> MSFCategory;
      44           5 : const std::error_category &llvm::msf::MSFErrCategory() { return *MSFCategory; }
      45             : 
      46             : char MSFError::ID;

Generated by: LCOV version 1.13