Puma Reference Manual Puma::CCSemExpr Class Reference



Puma::CCSemExpr Class Reference

#include <CCSemExpr.h>

List of all members.

Public Member Functions

 CCSemExpr (ErrorSink &, CStructure *scope)
CTypeInforesolveExpr (CTree *expr, CTree *base=(CTree *) 0)
CTypeInforesolveInit (CTree *node, CTree *base)
void configure (Config &)
bool isDependent () const
CTypeInforesolve (CTree *, CTree *)
CTypeInforesolve (CT_Expression *, CTree *)
CTypeInforesolve (CT_CallExpr *, CTree *)
CTypeInforesolve (CT_MembPtrExpr *, CTree *)
CTypeInforesolve (CT_SimpleName *, CTree *)
CTypeInforesolve (CT_BinaryExpr *, CTree *)
CTypeInforesolve (CT_UnaryExpr *, CTree *)
CTypeInforesolve (CT_PostfixExpr *, CTree *)
CTypeInforesolve (CT_ConstructExpr *, CTree *)
CTypeInforesolve (CT_CmpdLiteral *, CTree *)
CTypeInforesolve (CT_NewExpr *, CTree *)
CTypeInforesolve (CT_DeleteExpr *, CTree *)
CTypeInforesolve (CT_IfThenExpr *, CTree *)
CTypeInforesolve (CT_DerefExpr *, CTree *)
CTypeInforesolve (CT_AddrExpr *, CTree *)
CTypeInforesolve (CT_CastExpr *, CTree *)
CTypeInforesolve (CT_DynamicCast *, CTree *)
CTypeInforesolve (CT_StaticCast *, CTree *)
CTypeInforesolve (CT_ReintCast *, CTree *)
CTypeInforesolve (CT_ConstCast *, CTree *)
CTypeInforesolve (CT_TypeidExpr *, CTree *)
CTypeInforesolve (CT_ThrowExpr *, CTree *)
CTypeInforesolve (CT_SizeofExpr *, CTree *)
CTypeInforesolve (CT_AlignofExpr *, CTree *)
CTypeInforesolve (CT_TypeTraitExpr *, CTree *)
CTypeInforesolve (CT_OffsetofExpr *, CTree *)
CTypeInforesolve (CT_IndexExpr *, CTree *)
CTypeInforesolve (CT_BracedExpr *, CTree *)
CTypeInforesolve (CT_Bool *, CTree *)
CTypeInforesolve (CT_Character *, CTree *)
CTypeInforesolve (CT_WideCharacter *, CTree *)
CTypeInforesolve (CT_String *, CTree *)
CTypeInforesolve (CT_WideString *, CTree *)
CTypeInforesolve (CT_Integer *, CTree *)
CTypeInforesolve (CT_Float *, CTree *)

Static Public Member Functions

static bool isLvalue (CTree *)
static bool isRvalue (CTree *)
static bool isModifiable (CTypeInfo *, unsigned long=0)
static bool isAddrExpr (CTree *)
static bool isConstIntExpr (CTree *)
static bool isConstExpr (CTree *)
static bool isConstIntegralExpr (CTree *)
static CTypeInfousualArithmeticConv (CTree *, CTree *)
static CTypeInfoconvLvalueToRvalue (CTree *, CTree *=(CTree *) 0)
static CTypeInfocastToType (CTypeInfo *, CTree *, bool=true)
static CTypeInfointPromotion (CTree *)
static CObjectInfofindObject (CTree *)
static bool sameOrBaseClass (CRecord *, CRecord *)
static bool baseClass (CClassInfo *, CClassInfo *)
static bool isDependent (CTree *)

Protected Member Functions

CTypeInfobinary_ass (CT_BinaryExpr *, CTree *)
CTypeInfobinary_comma (CT_BinaryExpr *, CTree *)
CTypeInfobinary_log (CT_BinaryExpr *, CTree *)
CTypeInfobinary_bit (CT_BinaryExpr *, CTree *)
CTypeInfobinary_equ (CT_BinaryExpr *, CTree *)
CTypeInfobinary_rel (CT_BinaryExpr *, CTree *)
CTypeInfobinary_shift (CT_BinaryExpr *, CTree *)
CTypeInfobinary_add (CT_BinaryExpr *, CTree *)
CTypeInfobinary_mul (CT_BinaryExpr *, CTree *)
CTypeInfobinary_ptm (CT_BinaryExpr *, CTree *)
void apply_binary_op (CTree *, int)
CTypeInfooverloadedOperator (CTree *, CTree *, const char *, int, CTree *, CTree *=0)
void overflow (CTree *, int, bool &) const
int scanCharacter (CTree *, LONG_LONG &) const
LONG_LONG nextCharacter (const char *&, bool &) const
bool depBaseClass () const
CTreebaseTree (CTree *) const
bool isDependent (CTree *, bool)
bool resetDependent ()
bool isClassOrEnum (CTypeInfo *) const
bool sameUnqualBaseType (CTypeInfo *, CTypeInfo *) const
bool checkDeclsFound (CTree *, CCNameLookup &) const
void passOnConstant (CTree *, CTypeInfo *) const
bool validOvlFctSet (CTree *, const char *, const char *, CCOverloading &)
void builtinOpExpr (CTree *, CTree *, const char *, int, CTypeInfo *, CTypeInfo *, CTypeInfo *=0) const
bool lookupBuiltin (CT_SimpleName *sn, CCNameLookup &nl)

Protected Attributes

ErrorSinkerr
CStructurecurrent_scope
CT_CallExprfct_call
bool dependent_args
bool dependent

Constructor & Destructor Documentation

Puma::CCSemExpr::CCSemExpr ( ErrorSink e,
CStructure scope 
) [inline]

Member Function Documentation

void Puma::CCSemExpr::apply_binary_op ( CTree ,
int   
) [protected]
static bool Puma::CCSemExpr::baseClass ( CClassInfo ,
CClassInfo  
) [static]
CTree* Puma::CCSemExpr::baseTree ( CTree ) const [protected]
void Puma::CCSemExpr::builtinOpExpr ( CTree ,
CTree ,
const char *  ,
int  ,
CTypeInfo ,
CTypeInfo ,
CTypeInfo = 0 
) const [protected]
static CTypeInfo* Puma::CCSemExpr::castToType ( CTypeInfo ,
CTree ,
bool  = true 
) [static]
bool Puma::CCSemExpr::checkDeclsFound ( CTree ,
CCNameLookup  
) const [protected]
void Puma::CCSemExpr::configure ( Config ) [inline]
static CTypeInfo* Puma::CCSemExpr::convLvalueToRvalue ( CTree ,
CTree = (CTree *) 0 
) [static]
bool Puma::CCSemExpr::depBaseClass ( ) const [protected]
static CObjectInfo* Puma::CCSemExpr::findObject ( CTree ) [static]
static CTypeInfo* Puma::CCSemExpr::intPromotion ( CTree ) [static]
static bool Puma::CCSemExpr::isAddrExpr ( CTree ) [static]
bool Puma::CCSemExpr::isClassOrEnum ( CTypeInfo ) const [protected]
static bool Puma::CCSemExpr::isConstExpr ( CTree ) [static]
static bool Puma::CCSemExpr::isConstIntegralExpr ( CTree ) [static]
static bool Puma::CCSemExpr::isConstIntExpr ( CTree ) [static]
bool Puma::CCSemExpr::isDependent ( ) const [inline]
static bool Puma::CCSemExpr::isDependent ( CTree ) [static]
bool Puma::CCSemExpr::isDependent ( CTree ,
bool   
) [protected]
static bool Puma::CCSemExpr::isLvalue ( CTree ) [static]
static bool Puma::CCSemExpr::isModifiable ( CTypeInfo ,
unsigned  long = 0 
) [static]
static bool Puma::CCSemExpr::isRvalue ( CTree ) [static]
bool Puma::CCSemExpr::lookupBuiltin ( CT_SimpleName sn,
CCNameLookup nl 
) [protected]
LONG_LONG Puma::CCSemExpr::nextCharacter ( const char *&  ,
bool &   
) const [protected]
void Puma::CCSemExpr::overflow ( CTree ,
int  ,
bool &   
) const [protected]
CTypeInfo* Puma::CCSemExpr::overloadedOperator ( CTree ,
CTree ,
const char *  ,
int  ,
CTree ,
CTree = 0 
) [protected]
void Puma::CCSemExpr::passOnConstant ( CTree ,
CTypeInfo  
) const [protected]
bool Puma::CCSemExpr::resetDependent ( ) [protected]
CTypeInfo* Puma::CCSemExpr::resolveExpr ( CTree expr,
CTree base = (CTree *) 0 
)
static bool Puma::CCSemExpr::sameOrBaseClass ( CRecord ,
CRecord  
) [static]
bool Puma::CCSemExpr::sameUnqualBaseType ( CTypeInfo ,
CTypeInfo  
) const [protected]
int Puma::CCSemExpr::scanCharacter ( CTree ,
LONG_LONG  
) const [protected]
static CTypeInfo* Puma::CCSemExpr::usualArithmeticConv ( CTree ,
CTree  
) [static]
bool Puma::CCSemExpr::validOvlFctSet ( CTree ,
const char *  ,
const char *  ,
CCOverloading  
) [protected]

Member Data Documentation

bool Puma::CCSemExpr::dependent [protected]