clang API Documentation
The return type of classify(). Represents the C++11 expression taxonomy. More...
#include <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_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, modifiably lvalue. | |
Friends | |
| class | Expr |
The return type of classify(). Represents the C++11 expression taxonomy.
| clang::Expr::Classification::Classification | ( | ) | [inline] |
Definition at line 342 of file Expr.h.
Referenced by makeSimpleLValue().
| Kinds clang::Expr::Classification::getKind | ( | ) | const [inline] |
Definition at line 344 of file Expr.h.
Referenced by clang::Expr::ClassifyLValue(), and clang::Expr::isModifiableLvalue().
| ModifiableType clang::Expr::Classification::getModifiable | ( | ) | const [inline] |
Definition at line 345 of file Expr.h.
References CM_Untested.
Referenced by isModifiable(), and clang::Expr::isModifiableLvalue().
| bool clang::Expr::Classification::isGLValue | ( | ) | const [inline] |
| bool clang::Expr::Classification::isLValue | ( | ) | const [inline] |
Definition at line 349 of file Expr.h.
References CL_LValue.
Referenced by AdjustFunctionParmAndArgTypesForDeduction(), clang::Sema::CheckPointerToMemberOperands(), TryObjectArgumentInitialization(), TryReferenceInit(), and TryReferenceInitializationCore().
| bool clang::Expr::Classification::isModifiable | ( | ) | const [inline] |
Definition at line 354 of file Expr.h.
References CM_Modifiable, and getModifiable().
| bool clang::Expr::Classification::isPRValue | ( | ) | const [inline] |
Definition at line 352 of file Expr.h.
References CL_Function.
Referenced by clang::canTypeidThrow(), clang::Expr::isTemporaryObject(), TryReferenceInit(), and TryReferenceInitializationCore().
| bool clang::Expr::Classification::isRValue | ( | ) | const [inline] |
Definition at line 353 of file Expr.h.
References CL_XValue.
Referenced by clang::Sema::CheckPointerToMemberOperands(), TryObjectArgumentInitialization(), TryReferenceInit(), and TryReferenceInitializationCore().
| bool clang::Expr::Classification::isXValue | ( | ) | const [inline] |
Definition at line 350 of file Expr.h.
References CL_XValue.
Referenced by TryReferenceInit(), and TryReferenceInitializationCore().
| static Classification clang::Expr::Classification::makeSimpleLValue | ( | ) | [inline, static] |
Create a simple, modifiably lvalue.
Definition at line 357 of file Expr.h.
References CL_LValue, Classification(), and CM_Modifiable.
Referenced by clang::Sema::AddOverloadCandidate(), clang::Sema::BuildCallToMemberFunction(), and clang::Sema::PerformObjectArgumentInitialization().