LLDB  mainline
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
lldb_private::npdb::CVTagRecord Struct Reference

#include <PdbUtil.h>

Collaboration diagram for lldb_private::npdb::CVTagRecord:
Collaboration graph
[legend]

Public Types

enum  Kind { Class, Struct, Union, Enum }
 

Public Member Functions

Kind kind () const
 
const llvm::codeview::TagRecord & asTag () const
 
const llvm::codeview::ClassRecord & asClass () const
 
const llvm::codeview::EnumRecord & asEnum () const
 
const llvm::codeview::UnionRecord & asUnion () const
 
llvm::StringRef name () const
 

Static Public Member Functions

static CVTagRecord create (llvm::codeview::CVType type)
 

Private Member Functions

 CVTagRecord (llvm::codeview::ClassRecord &&c)
 
 CVTagRecord (llvm::codeview::UnionRecord &&u)
 
 CVTagRecord (llvm::codeview::EnumRecord &&e)
 

Private Attributes

union {
   llvm::codeview::ClassRecord   cvclass
 
   llvm::codeview::EnumRecord   cvenum
 
   llvm::codeview::UnionRecord   cvunion
 
}; 
 
Kind m_kind
 

Detailed Description

Definition at line 38 of file PdbUtil.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Class 
Struct 
Union 
Enum 

Definition at line 39 of file PdbUtil.h.

Constructor & Destructor Documentation

◆ CVTagRecord() [1/3]

lldb_private::npdb::CVTagRecord::CVTagRecord ( llvm::codeview::ClassRecord &&  c)
private

◆ CVTagRecord() [2/3]

lldb_private::npdb::CVTagRecord::CVTagRecord ( llvm::codeview::UnionRecord &&  u)
private

◆ CVTagRecord() [3/3]

lldb_private::npdb::CVTagRecord::CVTagRecord ( llvm::codeview::EnumRecord &&  e)
private

Member Function Documentation

◆ asClass()

const llvm::codeview::ClassRecord& lldb_private::npdb::CVTagRecord::asClass ( ) const
inline

Definition at line 53 of file PdbUtil.h.

References Class, cvclass, m_kind, and Struct.

Referenced by lldb_private::npdb::PdbAstBuilder::CreateType().

◆ asEnum()

const llvm::codeview::EnumRecord& lldb_private::npdb::CVTagRecord::asEnum ( ) const
inline

Definition at line 58 of file PdbUtil.h.

References cvenum, Enum, and m_kind.

Referenced by lldb_private::npdb::PdbAstBuilder::CreateType().

◆ asTag()

const llvm::codeview::TagRecord& lldb_private::npdb::CVTagRecord::asTag ( ) const
inline

◆ asUnion()

const llvm::codeview::UnionRecord& lldb_private::npdb::CVTagRecord::asUnion ( ) const
inline

Definition at line 63 of file PdbUtil.h.

References cvunion, m_kind, and Union.

Referenced by lldb_private::npdb::PdbAstBuilder::CreateType().

◆ create()

CVTagRecord CVTagRecord::create ( llvm::codeview::CVType  type)
static

◆ kind()

Kind lldb_private::npdb::CVTagRecord::kind ( ) const
inline

Definition at line 43 of file PdbUtil.h.

References m_kind.

Referenced by lldb_private::npdb::PdbAstBuilder::CreateType().

◆ name()

llvm::StringRef lldb_private::npdb::CVTagRecord::name ( ) const
inline

Definition at line 68 of file PdbUtil.h.

References cvclass, cvenum, cvunion, Enum, m_kind, Struct, and Union.

Referenced by lldb_private::npdb::SymbolFileNativePDB::ParseTypes().

Member Data Documentation

◆ @155

union { ... }

◆ cvclass

llvm::codeview::ClassRecord lldb_private::npdb::CVTagRecord::cvclass

Definition at line 81 of file PdbUtil.h.

Referenced by asClass(), asTag(), and name().

◆ cvenum

llvm::codeview::EnumRecord lldb_private::npdb::CVTagRecord::cvenum

Definition at line 82 of file PdbUtil.h.

Referenced by asEnum(), asTag(), and name().

◆ cvunion

llvm::codeview::UnionRecord lldb_private::npdb::CVTagRecord::cvunion

Definition at line 83 of file PdbUtil.h.

Referenced by asTag(), asUnion(), and name().

◆ m_kind

Kind lldb_private::npdb::CVTagRecord::m_kind
private

Definition at line 85 of file PdbUtil.h.

Referenced by asClass(), asEnum(), asTag(), asUnion(), kind(), and name().


The documentation for this struct was generated from the following files: