LLVM  9.0.0svn
Classes | Namespaces | Enumerations | Functions
RecordSerialization.h File Reference
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/DebugInfo/CodeView/CodeViewError.h"
#include "llvm/Support/BinaryStreamReader.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include <cinttypes>
#include <tuple>
Include dependency graph for RecordSerialization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::codeview::RecordPrefix
 
struct  llvm::codeview::serialize_conditional_impl< T, U >
 
struct  llvm::codeview::serialize_array_impl< T, U >
 
struct  llvm::codeview::serialize_vector_tail_impl< T >
 
struct  llvm::codeview::serialize_null_term_string_array_impl
 
struct  llvm::codeview::serialize_arrayref_tail_impl< T >
 
struct  llvm::codeview::serialize_numeric_impl< T >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::codeview
 

Enumerations

enum  : unsigned { llvm::codeview::MaxRecordLength = 0xFF00 }
 Limit on the size of all codeview symbol and type records, including the RecordPrefix. More...
 

Functions

StringRef llvm::codeview::getBytesAsCharacters (ArrayRef< uint8_t > LeafData)
 Reinterpret a byte array as an array of characters. More...
 
StringRef llvm::codeview::getBytesAsCString (ArrayRef< uint8_t > LeafData)
 
Error llvm::codeview::consume (BinaryStreamReader &Reader)
 
Error llvm::codeview::consume (BinaryStreamReader &Reader, APSInt &Num)
 Decodes a numeric "leaf" value. More...
 
Error llvm::codeview::consume_numeric (BinaryStreamReader &Reader, uint64_t &Value)
 Decodes a numeric leaf value that is known to be a particular type. More...
 
Error llvm::codeview::consume (BinaryStreamReader &Reader, uint32_t &Item)
 Decodes signed and unsigned fixed-length integers. More...
 
Error llvm::codeview::consume (BinaryStreamReader &Reader, int32_t &Item)
 
Error llvm::codeview::consume (BinaryStreamReader &Reader, StringRef &Item)
 Decodes a null terminated string. More...
 
Error llvm::codeview::consume (StringRef &Data, APSInt &Num)
 
Error llvm::codeview::consume (StringRef &Data, uint32_t &Item)
 
template<typename T >
Error llvm::codeview::consume (BinaryStreamReader &Reader, T *&Item)
 Decodes an arbitrary object whose layout matches that of the underlying byte sequence, and returns a pointer to the object. More...
 
template<typename T , typename U >
serialize_conditional_impl< T, U > llvm::codeview::serialize_conditional (T &Item, U Func)
 
template<typename T , typename U >
serialize_array_impl< T, U > llvm::codeview::serialize_array (ArrayRef< T > &Item, U Func)
 
serialize_null_term_string_array_impl llvm::codeview::serialize_null_term_string_array (std::vector< StringRef > &Item)
 
template<typename T >
serialize_vector_tail_impl< Tllvm::codeview::serialize_array_tail (std::vector< T > &Item)
 
template<typename T >
serialize_arrayref_tail_impl< Tllvm::codeview::serialize_array_tail (ArrayRef< T > &Item)
 
template<typename T >
serialize_numeric_impl< Tllvm::codeview::serialize_numeric (T &Item)
 
template<typename T , typename U >
Error llvm::codeview::consume (BinaryStreamReader &Reader, const serialize_conditional_impl< T, U > &Item)
 
template<typename T , typename U >
Error llvm::codeview::consume (BinaryStreamReader &Reader, const serialize_array_impl< T, U > &Item)
 
Error llvm::codeview::consume (BinaryStreamReader &Reader, const serialize_null_term_string_array_impl &Item)
 
template<typename T >
Error llvm::codeview::consume (BinaryStreamReader &Reader, const serialize_vector_tail_impl< T > &Item)
 
template<typename T >
Error llvm::codeview::consume (BinaryStreamReader &Reader, const serialize_arrayref_tail_impl< T > &Item)
 
template<typename T >
Error llvm::codeview::consume (BinaryStreamReader &Reader, const serialize_numeric_impl< T > &Item)
 
template<typename T , typename U , typename... Args>
Error llvm::codeview::consume (BinaryStreamReader &Reader, T &&X, U &&Y, Args &&... Rest)