LLVM 20.0.0git
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"

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.
 
MethodKind getMethodKind () const
 Indicates if a method is defined with friend, virtual, static, etc.
 
MethodOptions getFlags () const
 Get the flags that are not included in access control or method properties.
 
bool isVirtual () const
 Is this method virtual.
 
bool isIntroducedVirtual () const
 Does this member introduce a new virtual method.
 
bool isStatic () const
 Is this method static.
 

Public Attributes

uint16_t Attrs = 0
 

Detailed Description

Equvalent to CV_fldattr_t in cvinfo.h.

Definition at line 40 of file TypeRecord.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MethodKindShift 

Definition at line 43 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 49 of file TypeRecord.h.

◆ MemberAttributes() [3/3]

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

Definition at line 52 of file TypeRecord.h.

References Access, Attrs, and MethodKindShift.

Member Function Documentation

◆ getAccess()

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

◆ getFlags()

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

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

Definition at line 72 of file TypeRecord.h.

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

Referenced by llvm::codeview::OneMethodRecord::getOptions(), and llvm::logicalview::LVLogicalVisitor::visitKnownMember().

◆ getMethodKind()

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

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

Definition at line 64 of file TypeRecord.h.

References Attrs, llvm::codeview::MethodKindMask, and MethodKindShift.

Referenced by llvm::codeview::OneMethodRecord::getMethodKind(), isIntroducedVirtual(), isStatic(), and isVirtual().

◆ isIntroducedVirtual()

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

Does this member introduce a new virtual method.

Definition at line 86 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 93 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 79 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

Definition at line 41 of file TypeRecord.h.

Referenced by getAccess(), getFlags(), getMethodKind(), and MemberAttributes().


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