LLVM  4.0.0
Public Member Functions | Public Attributes | List of all members
llvm::codeview::ClassRecord Class Reference

#include <TypeRecord.h>

Inheritance diagram for llvm::codeview::ClassRecord:
[legend]
Collaboration diagram for llvm::codeview::ClassRecord:
[legend]

Public Member Functions

 ClassRecord (TypeRecordKind Kind)
 
 ClassRecord (TypeRecordKind Kind, uint16_t MemberCount, ClassOptions Options, TypeIndex FieldList, TypeIndex DerivationList, TypeIndex VTableShape, uint64_t Size, StringRef Name, StringRef UniqueName)
 
bool remapTypeIndices (ArrayRef< TypeIndex > IndexMap)
 Rewrite member type indices with IndexMap. More...
 
HfaKind getHfa () const
 
WindowsRTClassKind getWinRTKind () const
 
TypeIndex getDerivationList () const
 
TypeIndex getVTableShape () const
 
uint64_t getSize () const
 
- Public Member Functions inherited from llvm::codeview::TagRecord
bool remapTypeIndices (ArrayRef< TypeIndex > IndexMap)
 Rewrite member type indices with IndexMap. More...
 
bool hasUniqueName () const
 
uint16_t getMemberCount () const
 
ClassOptions getOptions () const
 
TypeIndex getFieldList () const
 
StringRef getName () const
 
StringRef getUniqueName () const
 
- Public Member Functions inherited from llvm::codeview::TypeRecord
TypeRecordKind getKind () const
 

Public Attributes

TypeIndex DerivationList
 
TypeIndex VTableShape
 
uint64_t Size
 
- Public Attributes inherited from llvm::codeview::TagRecord
uint16_t MemberCount
 
ClassOptions Options
 
TypeIndex FieldList
 
StringRef Name
 
StringRef UniqueName
 

Additional Inherited Members

- Static Public Attributes inherited from llvm::codeview::TagRecord
static const int HfaKindShift = 11
 
static const int HfaKindMask = 0x1800
 
static const int WinRTKindShift = 14
 
static const int WinRTKindMask = 0xC000
 
- Protected Member Functions inherited from llvm::codeview::TagRecord
 TagRecord (TypeRecordKind Kind)
 
 TagRecord (TypeRecordKind Kind, uint16_t MemberCount, ClassOptions Options, TypeIndex FieldList, StringRef Name, StringRef UniqueName)
 
- Protected Member Functions inherited from llvm::codeview::TypeRecord
 TypeRecord ()=default
 
 TypeRecord (TypeRecordKind Kind)
 

Detailed Description

Definition at line 444 of file TypeRecord.h.

Constructor & Destructor Documentation

llvm::codeview::ClassRecord::ClassRecord ( TypeRecordKind  Kind)
inlineexplicit

Definition at line 446 of file TypeRecord.h.

llvm::codeview::ClassRecord::ClassRecord ( TypeRecordKind  Kind,
uint16_t  MemberCount,
ClassOptions  Options,
TypeIndex  FieldList,
TypeIndex  DerivationList,
TypeIndex  VTableShape,
uint64_t  Size,
StringRef  Name,
StringRef  UniqueName 
)
inline

Definition at line 447 of file TypeRecord.h.

Member Function Documentation

TypeIndex llvm::codeview::ClassRecord::getDerivationList ( ) const
inline

Definition at line 470 of file TypeRecord.h.

References DerivationList.

HfaKind llvm::codeview::ClassRecord::getHfa ( ) const
inline
uint64_t llvm::codeview::ClassRecord::getSize ( ) const
inline

Definition at line 472 of file TypeRecord.h.

References Size.

TypeIndex llvm::codeview::ClassRecord::getVTableShape ( ) const
inline

Definition at line 471 of file TypeRecord.h.

References VTableShape.

WindowsRTClassKind llvm::codeview::ClassRecord::getWinRTKind ( ) const
inline
bool ClassRecord::remapTypeIndices ( ArrayRef< TypeIndex IndexMap)

Rewrite member type indices with IndexMap.

Returns false if a type index is not in the map.

Definition at line 100 of file TypeRecord.cpp.

References DerivationList, remapIndex(), llvm::codeview::TagRecord::remapTypeIndices(), Success, and VTableShape.

Member Data Documentation

TypeIndex llvm::codeview::ClassRecord::DerivationList

Definition at line 474 of file TypeRecord.h.

Referenced by getDerivationList(), and remapTypeIndices().

uint64_t llvm::codeview::ClassRecord::Size

Definition at line 476 of file TypeRecord.h.

Referenced by getSize().

TypeIndex llvm::codeview::ClassRecord::VTableShape

Definition at line 475 of file TypeRecord.h.

Referenced by getVTableShape(), and remapTypeIndices().


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