clang 20.0.0git
|
The return type of classify(). More...
#include "clang/AST/Expr.h"
Public Types | |
enum | Kinds { CL_LValue , CL_XValue , CL_Function , CL_Void , CL_AddressableVoid , CL_DuplicateVectorComponents , CL_MemberFunction , CL_SubObjCPropertySetting , CL_ClassTemporary , CL_ArrayTemporary , CL_ObjCMessageRValue , CL_PRValue } |
The various classification results. Most of these mean prvalue. More... | |
enum | ModifiableType { CM_Untested , CM_Modifiable , CM_RValue , CM_Function , CM_LValueCast , CM_NoSetterProperty , CM_ConstQualified , CM_ConstQualifiedField , CM_ConstAddrSpace , CM_ArrayType , CM_IncompleteType } |
The results of modification testing. More... | |
Public Member Functions | |
Classification () | |
Kinds | getKind () const |
ModifiableType | getModifiable () const |
bool | isLValue () const |
bool | isXValue () const |
bool | isGLValue () const |
bool | isPRValue () const |
bool | isRValue () const |
bool | isModifiable () const |
Static Public Member Functions | |
static Classification | makeSimpleLValue () |
Create a simple, modifiable lvalue. | |
Friends | |
class | Expr |
The return type of classify().
Represents the C++11 expression taxonomy.
|
inline |
Definition at line 373 of file Expr.h.
Referenced by makeSimpleLValue().
|
inline |
Definition at line 375 of file Expr.h.
References Kind.
Referenced by clang::Expr::ClassifyLValue(), and clang::Expr::isModifiableLvalue().
|
inline |
Definition at line 376 of file Expr.h.
References CM_Untested.
Referenced by isModifiable(), and clang::Expr::isModifiableLvalue().
|
inline |
|
inline |
Definition at line 380 of file Expr.h.
References CL_LValue, and Kind.
Referenced by AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::CheckPointerToMemberOperands(), TryObjectArgumentInitialization(), TryReferenceInit(), and TryReferenceInitializationCore().
|
inline |
Definition at line 385 of file Expr.h.
References CM_Modifiable, and getModifiable().
|
inline |
Definition at line 383 of file Expr.h.
References CL_Function, and Kind.
Referenced by GetExplicitObjectExpr(), clang::Expr::isTemporaryObject(), TryReferenceInit(), and TryReferenceInitializationCore().
|
inline |
Definition at line 384 of file Expr.h.
References CL_XValue, and Kind.
Referenced by clang::Sema::CheckPointerToMemberOperands(), clang::Sema::PerformImplicitObjectArgumentInitialization(), TryObjectArgumentInitialization(), TryReferenceInit(), and TryReferenceInitializationCore().
|
inline |
Definition at line 381 of file Expr.h.
References CL_XValue, and Kind.
Referenced by TryReferenceInit(), and TryReferenceInitializationCore().
|
inlinestatic |
Create a simple, modifiable lvalue.
Definition at line 388 of file Expr.h.
References CL_LValue, Classification(), and CM_Modifiable.
Referenced by clang::Sema::AddFunctionCandidates(), clang::Sema::AddOverloadCandidate(), clang::Sema::BuildCallToMemberFunction(), and clang::Sema::PerformImplicitObjectArgumentInitialization().