diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-30 17:37:31 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-30 17:37:31 +0000 |
commit | ee2f195dd3e40f49698ca4dc2666ec09c770e80d (patch) | |
tree | 66fa9a69e5789356dfe844991e64bac9222f3a35 /include/llvm/DebugInfo/CodeView/StringTable.h | |
parent | ab44ce3d598882e51a25eb82eb7ae6308de85ae6 (diff) |
Notes
Diffstat (limited to 'include/llvm/DebugInfo/CodeView/StringTable.h')
-rw-r--r-- | include/llvm/DebugInfo/CodeView/StringTable.h | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/include/llvm/DebugInfo/CodeView/StringTable.h b/include/llvm/DebugInfo/CodeView/StringTable.h deleted file mode 100644 index 05dc02ee849f..000000000000 --- a/include/llvm/DebugInfo/CodeView/StringTable.h +++ /dev/null @@ -1,75 +0,0 @@ -//===- StringTable.h - CodeView String Table Reader/Writer ------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_DEBUGINFO_CODEVIEW_STRINGTABLE_H -#define LLVM_DEBUGINFO_CODEVIEW_STRINGTABLE_H - -#include "llvm/ADT/StringMap.h" -#include "llvm/ADT/StringRef.h" - -#include "llvm/Support/BinaryStreamRef.h" -#include "llvm/Support/Error.h" - -#include <stdint.h> - -namespace llvm { - -class BinaryStreamReader; -class BinaryStreamRef; -class BinaryStreamWriter; - -namespace codeview { - -/// Represents a read-only view of a CodeView string table. This is a very -/// simple flat buffer consisting of null-terminated strings, where strings -/// are retrieved by their offset in the buffer. StringTableRef does not own -/// the underlying storage for the buffer. -class StringTableRef { -public: - StringTableRef(); - - Error initialize(BinaryStreamRef Contents); - - Expected<StringRef> getString(uint32_t Offset) const; - - bool valid() const { return Stream.valid(); } - -private: - BinaryStreamRef Stream; -}; - -/// Represents a read-write view of a CodeView string table. StringTable owns -/// the underlying storage for the table, and is capable of serializing the -/// string table into a format understood by StringTableRef. -class StringTable { -public: - // If string S does not exist in the string table, insert it. - // Returns the ID for S. - uint32_t insert(StringRef S); - - // Return the ID for string S. Assumes S exists in the table. - uint32_t getStringId(StringRef S) const; - - uint32_t calculateSerializedSize() const; - Error commit(BinaryStreamWriter &Writer) const; - - uint32_t size() const; - - StringMap<uint32_t>::const_iterator begin() const { return Strings.begin(); } - - StringMap<uint32_t>::const_iterator end() const { return Strings.end(); } - -private: - StringMap<uint32_t> Strings; - uint32_t StringSize = 1; -}; -} -} - -#endif |