clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Friends
clang::Expr::Classification Class Reference

The return type of classify(). Represents the C++0x expression taxonomy. More...

#include <Expr.h>

List of all members.

Public Types

enum  Kinds {
  CL_LValue, CL_XValue, CL_Function, CL_Void,
  CL_AddressableVoid, CL_DuplicateVectorComponents, CL_MemberFunction, CL_SubObjCPropertySetting,
  CL_ClassTemporary, 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

Detailed Description

The return type of classify(). Represents the C++0x expression taxonomy.

Definition at line 251 of file Expr.h.


Member Enumeration Documentation

The various classification results. Most of these mean prvalue.

Enumerator:
CL_LValue 
CL_XValue 
CL_Function 
CL_Void 
CL_AddressableVoid 
CL_DuplicateVectorComponents 
CL_MemberFunction 
CL_SubObjCPropertySetting 
CL_ClassTemporary 
CL_ObjCMessageRValue 
CL_PRValue 

Definition at line 254 of file Expr.h.

The results of modification testing.

Enumerator:
CM_Untested 
CM_Modifiable 
CM_RValue 
CM_Function 
CM_LValueCast 
CM_NoSetterProperty 
CM_ConstQualified 
CM_ArrayType 
CM_IncompleteType 

Definition at line 268 of file Expr.h.


Constructor & Destructor Documentation

clang::Expr::Classification::Classification ( ) [inline]

Definition at line 291 of file Expr.h.

Referenced by makeSimpleLValue().


Member Function Documentation

Kinds clang::Expr::Classification::getKind ( ) const [inline]

Definition at line 293 of file Expr.h.

Referenced by clang::Expr::ClassifyLValue(), and clang::Expr::isModifiableLvalue().

ModifiableType clang::Expr::Classification::getModifiable ( ) const [inline]

Definition at line 294 of file Expr.h.

References CM_Untested.

Referenced by isModifiable(), and clang::Expr::isModifiableLvalue().

bool clang::Expr::Classification::isGLValue ( ) const [inline]

Definition at line 300 of file Expr.h.

References CL_XValue.

bool clang::Expr::Classification::isLValue ( ) const [inline]
bool clang::Expr::Classification::isModifiable ( ) const [inline]

Definition at line 303 of file Expr.h.

References CM_Modifiable, and getModifiable().

bool clang::Expr::Classification::isPRValue ( ) const [inline]
bool clang::Expr::Classification::isRValue ( ) const [inline]
bool clang::Expr::Classification::isXValue ( ) const [inline]

Definition at line 299 of file Expr.h.

References CL_XValue.

Referenced by clang::TryReferenceInit(), and TryReferenceInitializationCore().

static Classification clang::Expr::Classification::makeSimpleLValue ( ) [inline, static]

Create a simple, modifiably lvalue.

Definition at line 306 of file Expr.h.

References CL_LValue, Classification(), and CM_Modifiable.

Referenced by clang::Sema::AddOverloadCandidate(), and clang::Sema::PerformObjectArgumentInitialization().


Friends And Related Function Documentation

friend class Expr [friend]

Definition at line 281 of file Expr.h.


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