LCOV - code coverage report
Current view: top level - lib/DebugInfo/PDB/Native - RawError.cpp (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 5 19 26.3 %
Date: 2018-10-20 13:21:21 Functions: 2 3 66.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : #include "llvm/DebugInfo/PDB/Native/RawError.h"
       2             : #include "llvm/Support/ErrorHandling.h"
       3             : #include "llvm/Support/ManagedStatic.h"
       4             : 
       5             : using namespace llvm;
       6             : using namespace llvm::pdb;
       7             : 
       8             : // FIXME: This class is only here to support the transition to llvm::Error. It
       9             : // will be removed once this transition is complete. Clients should prefer to
      10             : // deal with the Error value directly, rather than converting to error_code.
      11           7 : class RawErrorCategory : public std::error_category {
      12             : public:
      13           0 :   const char *name() const noexcept override { return "llvm.pdb.raw"; }
      14           3 :   std::string message(int Condition) const override {
      15           3 :     switch (static_cast<raw_error_code>(Condition)) {
      16             :     case raw_error_code::unspecified:
      17           0 :       return "An unknown error has occurred.";
      18             :     case raw_error_code::feature_unsupported:
      19           0 :       return "The feature is unsupported by the implementation.";
      20             :     case raw_error_code::invalid_format:
      21           0 :       return "The record is in an unexpected format.";
      22             :     case raw_error_code::corrupt_file:
      23           3 :       return "The PDB file is corrupt.";
      24             :     case raw_error_code::insufficient_buffer:
      25             :       return "The buffer is not large enough to read the requested number of "
      26           0 :              "bytes.";
      27             :     case raw_error_code::no_stream:
      28           0 :       return "The specified stream could not be loaded.";
      29             :     case raw_error_code::index_out_of_bounds:
      30           0 :       return "The specified item does not exist in the array.";
      31             :     case raw_error_code::invalid_block_address:
      32           0 :       return "The specified block address is not valid.";
      33             :     case raw_error_code::duplicate_entry:
      34           0 :       return "The entry already exists.";
      35             :     case raw_error_code::no_entry:
      36           0 :       return "The entry does not exist.";
      37             :     case raw_error_code::not_writable:
      38           0 :       return "The PDB does not support writing.";
      39             :     case raw_error_code::stream_too_long:
      40           0 :       return "The stream was longer than expected.";
      41             :     case raw_error_code::invalid_tpi_hash:
      42           0 :       return "The Type record has an invalid hash value.";
      43             :     }
      44           0 :     llvm_unreachable("Unrecognized raw_error_code");
      45             :   }
      46             : };
      47             : 
      48             : static llvm::ManagedStatic<RawErrorCategory> RawCategory;
      49           7 : const std::error_category &llvm::pdb::RawErrCategory() { return *RawCategory; }
      50             : 
      51             : char RawError::ID;

Generated by: LCOV version 1.13