LLDB mainline
lldb_private::npdb::CVTagRecord Struct Reference

#include <PdbUtil.h>

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
CompilerContextKind contextKind () 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 37 of file PdbUtil.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Class 
Struct 
Union 
Enum 

Definition at line 38 of file PdbUtil.h.

Constructor & Destructor Documentation

◆ CVTagRecord() [1/3]

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

Referenced by create().

◆ 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 52 of file PdbUtil.h.

References Class, cvclass, m_kind, and Struct.

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

◆ asEnum()

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

Definition at line 57 of file PdbUtil.h.

References cvenum, Enum, and m_kind.

Referenced by lldb_private::npdb::PdbAstBuilderClang::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 62 of file PdbUtil.h.

References cvunion, m_kind, and Union.

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

◆ contextKind()

CompilerContextKind lldb_private::npdb::CVTagRecord::contextKind ( ) const
inline

◆ create()

◆ kind()

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

Definition at line 42 of file PdbUtil.h.

References m_kind.

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

◆ name()

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

Member Data Documentation

◆ [union]

◆ cvclass

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

Definition at line 90 of file PdbUtil.h.

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

◆ cvenum

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

Definition at line 91 of file PdbUtil.h.

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

◆ cvunion

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

Definition at line 92 of file PdbUtil.h.

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

◆ m_kind

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

Definition at line 94 of file PdbUtil.h.

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


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