LLVM  8.0.1
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::codeview::MemberAttributes Struct Reference

Equvalent to CV_fldattr_t in cvinfo.h. More...

#include "llvm/DebugInfo/CodeView/TypeRecord.h"

Collaboration diagram for llvm::codeview::MemberAttributes:
Collaboration graph
[legend]

Public Types

enum  { MethodKindShift = 2 }
 

Public Member Functions

 MemberAttributes ()=default
 
 MemberAttributes (MemberAccess Access)
 
 MemberAttributes (MemberAccess Access, MethodKind Kind, MethodOptions Flags)
 
MemberAccess getAccess () const
 Get the access specifier. Valid for any kind of member. More...
 
MethodKind getMethodKind () const
 Indicates if a method is defined with friend, virtual, static, etc. More...
 
MethodOptions getFlags () const
 Get the flags that are not included in access control or method properties. More...
 
bool isVirtual () const
 Is this method virtual. More...
 
bool isIntroducedVirtual () const
 Does this member introduce a new virtual method. More...
 
bool isStatic () const
 Is this method static. More...
 

Public Attributes

uint16_t Attrs = 0
 

Detailed Description

Equvalent to CV_fldattr_t in cvinfo.h.

Definition at line 47 of file TypeRecord.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MethodKindShift 

Definition at line 50 of file TypeRecord.h.

Constructor & Destructor Documentation

◆ MemberAttributes() [1/3]

llvm::codeview::MemberAttributes::MemberAttributes ( )
default

◆ MemberAttributes() [2/3]

llvm::codeview::MemberAttributes::MemberAttributes ( MemberAccess  Access)
inlineexplicit

Definition at line 56 of file TypeRecord.h.

◆ MemberAttributes() [3/3]

llvm::codeview::MemberAttributes::MemberAttributes ( MemberAccess  Access,
MethodKind  Kind,
MethodOptions  Flags 
)
inline

Definition at line 59 of file TypeRecord.h.

References llvm::codeview::CVMemberRecord::Kind.

Member Function Documentation

◆ getAccess()

MemberAccess llvm::codeview::MemberAttributes::getAccess ( ) const
inline

Get the access specifier. Valid for any kind of member.

Definition at line 66 of file TypeRecord.h.

References llvm::codeview::AccessMask.

Referenced by llvm::codeview::TypeDumpVisitor::visitMemberEnd().

◆ getFlags()

MethodOptions llvm::codeview::MemberAttributes::getFlags ( ) const
inline

Get the flags that are not included in access control or method properties.

Definition at line 79 of file TypeRecord.h.

References llvm::codeview::AccessMask, and llvm::codeview::MethodKindMask.

Referenced by llvm::codeview::TypeDumpVisitor::visitMemberEnd().

◆ getMethodKind()

MethodKind llvm::codeview::MemberAttributes::getMethodKind ( ) const
inline

Indicates if a method is defined with friend, virtual, static, etc.

Definition at line 71 of file TypeRecord.h.

References llvm::codeview::MethodKindMask.

Referenced by llvm::codeview::TypeDumpVisitor::visitMemberEnd().

◆ isIntroducedVirtual()

bool llvm::codeview::MemberAttributes::isIntroducedVirtual ( ) const
inline

Does this member introduce a new virtual method.

Definition at line 93 of file TypeRecord.h.

References getMethodKind(), llvm::codeview::IntroducingVirtual, and llvm::codeview::PureIntroducingVirtual.

◆ isStatic()

bool llvm::codeview::MemberAttributes::isStatic ( ) const
inline

Is this method static.

Definition at line 100 of file TypeRecord.h.

References getMethodKind(), and llvm::codeview::Static.

◆ isVirtual()

bool llvm::codeview::MemberAttributes::isVirtual ( ) const
inline

Is this method virtual.

Definition at line 86 of file TypeRecord.h.

References llvm::codeview::Friend, getMethodKind(), llvm::codeview::Static, and llvm::codeview::Vanilla.

Member Data Documentation

◆ Attrs

uint16_t llvm::codeview::MemberAttributes::Attrs = 0

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