A single parameter index whose accessors require each use to make explicit the parameter index encoding needed.
More...
#include "clang/AST/Attr.h"
A single parameter index whose accessors require each use to make explicit the parameter index encoding needed.
Definition at line 227 of file Attr.h.
◆ SerialType
A type into which ParamIdx
can be serialized.
A static assertion that it's of the correct size follows the ParamIdx
class definition.
Definition at line 266 of file Attr.h.
◆ ParamIdx() [1/2]
clang::ParamIdx::ParamIdx |
( |
| ) |
|
|
inline |
Construct an invalid parameter index (isValid
returns false and accessors fail an assert).
Definition at line 247 of file Attr.h.
◆ ParamIdx() [2/2]
- Parameters
-
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. |
Definition at line 255 of file Attr.h.
◆ deserialize()
Construct from a result from serialize
.
Definition at line 275 of file Attr.h.
◆ getASTIndex()
unsigned clang::ParamIdx::getASTIndex |
( |
| ) |
const |
|
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 304 of file Attr.h.
References isValid().
Referenced by clang::Sema::AddAllocAlignAttr().
◆ getLLVMIndex()
unsigned clang::ParamIdx::getLLVMIndex |
( |
| ) |
const |
|
inline |
Get the parameter index as it would normally be encoded at the LLVM level of representation: zero-origin including any C++ implicit this parameter.
This is the encoding primarily used in CodeGen.
Definition at line 315 of file Attr.h.
References isValid().
◆ getSourceIndex()
unsigned clang::ParamIdx::getSourceIndex |
( |
| ) |
const |
|
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 293 of file Attr.h.
References isValid().
◆ isValid()
bool clang::ParamIdx::isValid |
( |
| ) |
const |
|
inline |
◆ operator!=()
bool clang::ParamIdx::operator!= |
( |
const ParamIdx & |
I | ) |
const |
|
inline |
◆ operator<()
◆ operator<=()
bool clang::ParamIdx::operator<= |
( |
const ParamIdx & |
I | ) |
const |
|
inline |
◆ operator==()
bool clang::ParamIdx::operator== |
( |
const ParamIdx & |
I | ) |
const |
|
inline |
◆ operator>()
◆ operator>=()
bool clang::ParamIdx::operator>= |
( |
const ParamIdx & |
I | ) |
const |
|
inline |
◆ serialize()
Produce a representation that can later be passed to deserialize
to construct an equivalent ParamIdx
.
Definition at line 270 of file Attr.h.
The documentation for this class was generated from the following file: