|
clang 22.0.0git
|
A single parameter index whose accessors require each use to make explicit the parameter index encoding needed. More...
#include "clang/AST/Attr.h"
Public Types | |
| typedef uint32_t | SerialType |
A type into which ParamIdx can be serialized. | |
Public Member Functions | |
| ParamIdx () | |
Construct an invalid parameter index (isValid returns false and accessors fail an assert). | |
| ParamIdx (unsigned Idx, const Decl *D) | |
| SerialType | serialize () const |
Produce a representation that can later be passed to deserialize to construct an equivalent ParamIdx. | |
| bool | isValid () const |
| Is this parameter index valid? | |
| unsigned | getSourceIndex () const |
| Get the parameter index as it would normally be encoded for attributes at the source level of representation: one-origin including any C++ implicit this parameter. | |
| unsigned | getASTIndex () const |
| Get the parameter index as it would normally be encoded at the AST level of representation: zero-origin not including any C++ implicit this parameter. | |
| unsigned | getLLVMIndex () const |
| Get the parameter index as it would normally be encoded at the LLVM level of representation: zero-origin including any C++ implicit this parameter. | |
| bool | operator== (const ParamIdx &I) const |
| bool | operator!= (const ParamIdx &I) const |
| bool | operator< (const ParamIdx &I) const |
| bool | operator> (const ParamIdx &I) const |
| bool | operator<= (const ParamIdx &I) const |
| bool | operator>= (const ParamIdx &I) const |
Static Public Member Functions | |
| static ParamIdx | deserialize (SerialType S) |
Construct from a result from serialize. | |
A single parameter index whose accessors require each use to make explicit the parameter index encoding needed.
| typedef uint32_t clang::ParamIdx::SerialType |
|
inline |
Construct an invalid parameter index (isValid returns false and accessors fail an assert).
Definition at line 295 of file Attr.h.
References false.
Referenced by deserialize(), operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().
| Idx | is the parameter index as it is normally specified in attributes in the source: one-origin including any C++ implicit this parameter. |
| D | is the declaration containing the parameters. It is used to determine if there is a C++ implicit this parameter. |
|
inlinestatic |
Construct from a result from serialize.
Definition at line 323 of file Attr.h.
References ParamIdx().
|
inline |
Get the parameter index as it would normally be encoded at the AST level of representation: zero-origin not including any C++ implicit this parameter.
This is the encoding primarily used in Sema. However, in diagnostics, Sema uses getSourceIndex instead.
Definition at line 352 of file Attr.h.
References isValid().
Referenced by clang::Sema::AddAllocAlignAttr(), checkParamIsIntegerType(), handleArgumentWithTypeTagAttr(), clang::SemaSwift::handleAsyncAttr(), handleFormatArgAttr(), handleNonNullAttr(), handleOwnershipAttr(), handleRestrictAttr(), and isSafeSpanTwoParamConstruct().
|
inline |
|
inline |
Get the parameter index as it would normally be encoded for attributes at the source level of representation: one-origin including any C++ implicit this parameter.
This encoding thus makes sense for diagnostics, pretty printing, and constructing new attributes from a source-like specification.
Definition at line 341 of file Attr.h.
References isValid().
Referenced by handleOwnershipAttr(), handleRestrictAttr(), and handleXRayLogArgsAttr().
|
inline |
Is this parameter index valid?
Definition at line 333 of file Attr.h.
Referenced by getASTIndex(), getLLVMIndex(), getSourceIndex(), handleRestrictAttr(), and isSafeSpanTwoParamConstruct().
Definition at line 373 of file Attr.h.
References ParamIdx().
Definition at line 377 of file Attr.h.
References ParamIdx().
Definition at line 385 of file Attr.h.
References ParamIdx().
Definition at line 369 of file Attr.h.
References ParamIdx().
Definition at line 381 of file Attr.h.
References ParamIdx().
Definition at line 389 of file Attr.h.
References ParamIdx().
|
inline |