LLVM  4.0.0
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 <TypeRecord.h>

Collaboration diagram for llvm::codeview::MemberAttributes:
[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...
 

Public Attributes

uint16_t Attrs = 0
 

Detailed Description

Equvalent to CV_fldattr_t in cvinfo.h.

Definition at line 48 of file TypeRecord.h.

Member Enumeration Documentation

anonymous enum
Enumerator
MethodKindShift 

Definition at line 50 of file TypeRecord.h.

Constructor & Destructor Documentation

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

Definition at line 55 of file TypeRecord.h.

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

Definition at line 58 of file TypeRecord.h.

References Attrs, fuzzer::Flags, Kind, and MethodKindShift.

Member Function Documentation

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

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

Definition at line 78 of file TypeRecord.h.

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

Referenced by llvm::codeview::OneMethodRecord::getOptions().

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

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

Definition at line 70 of file TypeRecord.h.

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

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

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

Does this member introduce a new virtual method.

Definition at line 92 of file TypeRecord.h.

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

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

Is this method virtual.

Definition at line 85 of file TypeRecord.h.

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

Member Data Documentation

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

Definition at line 49 of file TypeRecord.h.

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


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