Classes |
struct | SubObj |
Public Member Functions |
| CSemExpr (ErrorSink &, CStructure *scope) |
CTypeInfo * | resolveExpr (CTree *expr, CTree *base=(CTree *) 0) |
void | resolveInit (CObjectInfo *, CTree *, CTree *, bool=false) |
CTypeInfo * | resolve (CTree *, CTree *) |
CTypeInfo * | resolve (CT_SimpleName *, CTree *) |
CTypeInfo * | resolve (CT_String *, CTree *) |
CTypeInfo * | resolve (CT_WideString *, CTree *) |
CTypeInfo * | resolve (CT_CmpdLiteral *, CTree *) |
CTypeInfo * | resolve (CT_Bool *, CTree *) |
CTypeInfo * | resolve (CT_Character *, CTree *) |
CTypeInfo * | resolve (CT_WideCharacter *, CTree *) |
CTypeInfo * | resolve (CT_Integer *, CTree *) |
CTypeInfo * | resolve (CT_Float *, CTree *) |
CTypeInfo * | resolve (CT_BracedExpr *, CTree *) |
CTypeInfo * | resolve (CT_BinaryExpr *, CTree *) |
CTypeInfo * | resolve (CT_UnaryExpr *, CTree *) |
CTypeInfo * | resolve (CT_AddrExpr *, CTree *) |
CTypeInfo * | resolve (CT_DerefExpr *, CTree *) |
CTypeInfo * | resolve (CT_PostfixExpr *, CTree *) |
CTypeInfo * | resolve (CT_IndexExpr *, CTree *) |
CTypeInfo * | resolve (CT_SizeofExpr *, CTree *) |
CTypeInfo * | resolve (CT_AlignofExpr *, CTree *) |
CTypeInfo * | resolve (CT_OffsetofExpr *, CTree *) |
CTypeInfo * | resolve (CT_IfThenExpr *, CTree *) |
CTypeInfo * | resolve (CT_CastExpr *, CTree *) |
CTypeInfo * | resolve (CT_CallExpr *, CTree *) |
CTypeInfo * | resolve (CT_MembPtrExpr *, CTree *) |
CTypeInfo * | binary_rel (CT_BinaryExpr *) |
CTypeInfo * | binary_ass (CT_BinaryExpr *) |
CTypeInfo * | binary_log (CT_BinaryExpr *) |
CTypeInfo * | binary_and (CT_BinaryExpr *) |
CTypeInfo * | binary_equ (CT_BinaryExpr *) |
CTypeInfo * | binary_mul (CT_BinaryExpr *) |
CTypeInfo * | binary_add (CT_BinaryExpr *) |
CTypeInfo * | binary_shift (CT_BinaryExpr *) |
CTypeInfo * | binary_comma (CT_BinaryExpr *) |
CTypeInfo * | apply_binary_op (CTree *, int) |
CTypeInfo * | applyImplicitConv (CTree *expr, CTree *base, CTypeInfo *type) |
void | overflow (CTree *, int, bool &) const |
int | scan_character (CTree *, LONG_LONG &) const |
LONG_LONG | next_character (const char *&) const |
Static Public Member Functions |
static bool | isConstExpr (CTree *, bool=false) |
static bool | isConstIntExpr (CTree *) |
static bool | isConstantMembPtr (CTree *node) |
static bool | isLvalue (CTree *) |
static void | passOnConstant (CTree *node, CTree *base, CTypeInfo *t1) |
static CTypeInfo * | cast_to (CTypeInfo *, CTree *, CTree *, bool=true) |
static CTypeInfo * | promote (CTree *, CTree *) |
static CObjectInfo * | findObject (CTree *, bool const_expr=false) |
static bool | isPtrToObj (CTypeInfo *, unsigned long=0) |
static bool | isModifiable (CTypeInfo *, unsigned long=0) |
static bool | compatible (CTypeInfo *, CTypeInfo *, CConstant *value=0) |
static bool | compatibleBase (CTypeInfo *, CTypeInfo *, CConstant *value=0) |
Protected Types |
enum | SemObjType {
CLASS,
UNION,
ENUM,
TYPEDEF,
FCT,
ATTRIB,
ARG,
TAG,
NON_TAG,
ANY
} |
Protected Member Functions |
void | resolveInit (CObjectInfo *, CTree *, CTree *, bool, Stack< SubObj > &) |
void | singleExprInit (CTree *, CTree *, CTypeInfo *, bool) |
void | findFirst (CTree *, CTypeInfo *&, CObjectInfo *&, CObjectInfo *&, CObjectInfo *, Stack< SubObj > &, bool) const |
void | findNext (CTree *, CTypeInfo *&, CObjectInfo *&, CObjectInfo *&, CObjectInfo *, Stack< SubObj > &, bool) const |
void | pushSubObj (CTypeInfo *&, CObjectInfo *&, Stack< SubObj > &) const |
void | popSubObj (CTypeInfo *&, CObjectInfo *&, CObjectInfo *&, Stack< SubObj > &) const |
CObjectInfo * | nextMember (CStructure *, CObjectInfo *) const |
CObjectInfo * | lookup (CT_SimpleName *, SemObjType, bool=false) const |
CObjectInfo * | lookup (const char *, CStructure *, SemObjType, bool, unsigned long int) const |
CObjectInfo * | Type (const char *, CStructure *, SemObjType, unsigned long int) const |
CObjectInfo * | Attribute (const char *, CStructure *, unsigned long int) const |
CObjectInfo * | Function (const char *, CStructure *, unsigned long int) const |
bool | known_here (CObjectInfo *, unsigned long int) const |
Protected Attributes |
ErrorSink & | err |
CStructure * | current_scope |
int | conv_to_ptr |