mirror of
https://github.com/RPCSX/llvm.git
synced 2026-01-31 01:05:23 +01:00
This was reverted because it was breaking some builds, and because of incorrect error code usage. Since the CL was large and contained many different things, I'm resubmitting it in pieces. This portion is NFC, and consists of: 1) Renaming classes to follow a consistent naming convention. 2) Fixing the const-ness of the interface methods. 3) Adding detailed doxygen comments. 4) Fixing a few instances of passing `const BinaryStream& X`. These are now passed as `BinaryStreamRef X`. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296394 91177308-0d34-0410-b5e6-96231b3b80d8
45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
//===- StringTableBuilder.h - PDB String Table Builder ----------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file creates the "/names" stream.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_DEBUGINFO_PDB_RAW_STRINGTABLEBUILDER_H
|
|
#define LLVM_DEBUGINFO_PDB_RAW_STRINGTABLEBUILDER_H
|
|
|
|
#include "llvm/ADT/DenseMap.h"
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/Support/Error.h"
|
|
#include <vector>
|
|
|
|
namespace llvm {
|
|
class BinaryStreamWriter;
|
|
|
|
namespace pdb {
|
|
|
|
class StringTableBuilder {
|
|
public:
|
|
// If string S does not exist in the string table, insert it.
|
|
// Returns the ID for S.
|
|
uint32_t insert(StringRef S);
|
|
|
|
uint32_t finalize();
|
|
Error commit(BinaryStreamWriter &Writer) const;
|
|
|
|
private:
|
|
DenseMap<StringRef, uint32_t> Strings;
|
|
uint32_t StringSize = 1;
|
|
};
|
|
|
|
} // end namespace pdb
|
|
} // end namespace llvm
|
|
|
|
#endif // LLVM_DEBUGINFO_PDB_RAW_STRINGTABLEBUILDER_H
|