LCOV - code coverage report
Current view: top level - include/llvm/DebugInfo/CodeView - DebugSymbolsSubsection.h (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 6 6 100.0 %
Date: 2017-09-14 15:23:50 Functions: 2 4 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===- DebugSymbolsSubsection.h --------------------------------*- 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             : #ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGSYMBOLSSUBSECTION_H
      11             : #define LLVM_DEBUGINFO_CODEVIEW_DEBUGSYMBOLSSUBSECTION_H
      12             : 
      13             : #include "llvm/DebugInfo/CodeView/DebugSubsection.h"
      14             : #include "llvm/DebugInfo/CodeView/SymbolRecord.h"
      15             : #include "llvm/Support/Error.h"
      16             : 
      17             : namespace llvm {
      18             : namespace codeview {
      19          26 : class DebugSymbolsSubsectionRef final : public DebugSubsectionRef {
      20             : public:
      21             :   DebugSymbolsSubsectionRef()
      22          26 :       : DebugSubsectionRef(DebugSubsectionKind::Symbols) {}
      23             : 
      24             :   static bool classof(const DebugSubsectionRef *S) {
      25             :     return S->kind() == DebugSubsectionKind::Symbols;
      26             :   }
      27             : 
      28             :   Error initialize(BinaryStreamReader Reader);
      29             : 
      30          18 :   CVSymbolArray::Iterator begin() const { return Records.begin(); }
      31           9 :   CVSymbolArray::Iterator end() const { return Records.end(); }
      32             : 
      33             : private:
      34             :   CVSymbolArray Records;
      35             : };
      36             : 
      37         160 : class DebugSymbolsSubsection final : public DebugSubsection {
      38             : public:
      39         240 :   DebugSymbolsSubsection() : DebugSubsection(DebugSubsectionKind::Symbols) {}
      40             :   static bool classof(const DebugSubsection *S) {
      41             :     return S->kind() == DebugSubsectionKind::Symbols;
      42             :   }
      43             : 
      44             :   uint32_t calculateSerializedSize() const override;
      45             :   Error commit(BinaryStreamWriter &Writer) const override;
      46             : 
      47             :   void addSymbol(CVSymbol Symbol);
      48             : 
      49             : private:
      50             :   uint32_t Length = 0;
      51             :   std::vector<CVSymbol> Records;
      52             : };
      53             : }
      54             : }
      55             : 
      56             : #endif

Generated by: LCOV version 1.13